Datenbank Abfrage MySql

christo1993

Grünschnabel
Hallo alle miteinander.
Mein Name ist Christoph und ich brauche dringend eine Hilfestellung in Sachen MySQL.

FOlgendes Problem ich habe eine Datenbank in dieser Datenbank gibt es unter anderem das Feld "serienbrief". Die Eingabe in die Datenbank läuft über ein Formular in diesem sind Radio Button für das Feld "serienbrief" gesetzt. Das heißt also diesem Feld werden in der Datenbank entweder "ja" oder "nein" zugeordnet.
Mir geht es aber nun um die Ausgabe.
Vorweg erst mal der Code:
PHP:
<?php     
@session_start();
include ("db.php");

$db=openDB();


$sql = "SELECT * FROM $tabelle WHERE UsrAenderung = '$UsrAenderung' ORDER BY id" ;
 
$db_erg = mysql_query( $sql, $db );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysql_error());
}
 
echo '<table border="3">';
 echo "<tr>";                        
 echo "<th>ID</th>";                
 echo "<th>Unternehmen</th>";               
 echo "<th>Vorname</th>";             
 echo "<th>Nachname</th>";              
 echo "<th>Serienbrief</th>";                 
 echo "<th>Telefonat</th>";                 
 echo "<th>Schritt 3</th>";                

 echo "</tr>";  
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
 
 echo "<tr>";
  echo "<td><a href=datensatze_andern_user.php?id={$zeile['id']}>". $zeile['id'] . "</a></td>";   // Neue Seite erstellen "datensatz_aendern_todo"
  echo "<td>". $zeile['unternehmen'] . "</td>";   
  echo "<td>". $zeile['vorname'] . "</td>";
  echo "<td>". $zeile['nachname'] . "</td>";
  echo "<td>".  $zeile['serienbrief'] . "</td>"          
  echo "<td>". $zeile['telefonat'] . "</td>";
  echo "<td>". $zeile['schritt3'] . "</td>";
  echo "<td>". $zeile['UsrAenderung'] . "</td>";

  echo "</tr>";
    
 

}
echo "</table>";
 
mysql_free_result( $db_erg );
mysql_close($db);
?>
Es erfolgt also eine nomale, und funktionierende Abfrage. Allerdings soll jetzt folgendes geschehen. Steht in der Datenbank unter "serienbrief" ja so soll die Datei "ja.png" ausgegeben werden. Es soll also nicht in der Tabelle das Wort Ja erscheinen sondern das Bild. Selbiges gilt für "nein" nur das dann das Bild "nein.png" ausgegeben werden soll.

Weiß das jemand von euch weiter und kann mir helfen?

Beste Grüße
Christoph
 
Hab mal 2 Varianten aufgelistet:
SQL:
SELECT
    IF(serienbrief='ja', 'ja.png', 'nein.png') AS variante1,
    CONCAT(serienbrief, '.png') AS variante2,
    t.*
FROM
    {$tabelle} AS t
 
Zuletzt bearbeitet von einem Moderator:
Hi Yaslaw,
danke.
Aber irgendwie blicke ich durch den Code nicht durch.

Gebe ich den SQL Code genau so ein geschieht nichts. Ich sehe in der IF Abfrage auch keine Fallunterscheidung... Es wird doch lediglich nur gesagt das es die Bilder "ja.png" und "nein.png" gibt oder sehe ich das falsch?
Vielleicht kannst du mir noch mal weiter helfen ;)

Beste grüße
 
Gebe ich den SQL Code genau so ein geschieht nichts.

"genau so" dürfte auch nicht mit deinen Spaltennamen übereinstimmen. Zeig mal deinen gesamten Code mit einer von Yaslaws Varianten.

Eine dritte Möglichkeit wäre, dein SQL-Statement so zu lassen und die Entscheidung, welche BildURL verwendet wird, über PHP zu fällen:

Statt

PHP:
echo "<td>".  $zeile['serienbrief'] . "</td>" //hier fehlt im Übrigen das Semikolon

könntest du

PHP:
  echo '<td><img src="'.$zeile['serienbrief'].'.png" /></td>';

schreiben.
Wenn sich das Bild nicht im selben Ordner wie die aufgerufene Datei befindet muss der Pfad natürlich noch geändert werden.
 

Neue Beiträge

Zurück