Tom: doppelte ausgabe..

Beitrag lesen

Das Problem ist ein PHP Problem also das nächste mal lieber in einem PHP Forum stellen.
Ich empfehle Dir www.phphomepage.de
Gibs auch ein klassisches "Anfängerforum" wo man solche "einfachen" Fragen stellen kann!
Die Ursache für die falsche Ausgabe liegt in der doppelten Schleife:
Einmal while und einmal for Schleife die im Grund beide das gleiche bewirken!
Du hast ja schon ein Array beim auslesen warum also so kompliziert?
Wie gesagt gleiche Frage im PHP Forum da wird Dir umfassend geholfen
Ich hab das Problem mal über die ID gelöst keine Ahnung ob es schön so ist!
Hoffe dat geht so!Bin auch kein Profi

$songs = mysql_query($sql,$verbindung );
   if (!$songs) die("Anfrage war nicht erfolgreich");{

if ($nr || $nr=="0") {
   for($nr!=0;"$songs!=$nr; $songs=sql_fetch_array($zeilen));
        print "<H5>'$songs[interpret]'</h5>$songs[titel]<br><br>

Denk aber dabei daran, dass Du die ID vom Datensatz nochauslesen mußt, also in der SQL Anweisung hinzufügen mußt.

hallo zusammen,
folgendes such-skript für meine mp3-db gibt alle einträge doppelt aus, warum?

<body>

<form action="mp3search.php">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>Interpret:</td>
    <td><input type="text" name="interpret" size="20"><br></td>
</tr>
<tr>
    <td>Titel:</td>
    <td><input type="text" name="titel" size="20"><br></td>
</tr>
<tr>
<td><input type="submit" value="Suchen"></td>
</tr>
</table>
</form>

<?php

$host = "localhost";
$user = "root";
$passwort = "meinpasswort";
$dbname = "mp3";

$verbindung = mysql_connect($host, $user, $passwort);

if(!$verbindung)
{
echo "Konnte nicht verbinden";
}

mysql_select_db($dbname, $verbindung);

$sql = "SELECT interpret,titel FROM songs WHERE interpret = '$interpret' OR titel LIKE '$titel' ORDER BY interpret";
$ergebnis = mysql_query($sql, $verbindung);

echo "<table>\n";

while($zeile = mysql_fetch_row($ergebnis))
{
echo "<tr>";

for($i = 0; $i < mysql_num_fields($ergebnis); $i++)
  echo "<td>" . $zeile[$i] . "</td>";
  echo "</tr>\n";
}

echo "</table>\n";
mysql_free_result($ergebnis);

?>
</body>