Probleme mit if.

Dolphon

Erfahrenes Mitglied
Moin.
PHP:
  $abfrage = "SELECT artist,titel,date,info,monat FROM sdance";
  $ergebnis = mysql_query($abfrage);
 if ($row->monat == "August") {
  while($row = mysql_fetch_object($ergebnis))
    {
    echo "                                      

              <tr>
                <td height=\"19\" width=\"37\">$row->date</td>
                <td height=\"19\" align=\"center\" width=\"436\">$row->artist - $row->titel</td>
                <td height=\"19\" align=\"center\" width=\"47\"><a href=\"javascript:void(0);\" onMouseOver=\"return overlib('$row->info');\" onMouseOut=\"return nd();\">info</a></td>
              </tr>
            </table>            
            </TD></TR></TBODY></TABLE>
      <script language=\"JavaScript\" src=\"../../../../templates/musik/singels/overlib.js\"><!-- overLIB (c) testet --></script>
     
<div id=\"overDiv\" style=\"position:absolute; visibility:hidden; z-index:1000;\"></div></TD></TR></TBODY></TABLE>


    ";}}

SO folgendes Problem.
In der Datenbank steht bei Monat August. Nun will ich, das er alle Eintragungen bei denen Monat August steht, hier ausgegben werden.
Nur leider gibt er hier nichts aus bis auf das Grundgerüst.
 
mhh, was ich auf die Schnelle sehe, ist dass du etwas prüfst, was nicht existiert, nämlich dein $row-Objekt. Du erzeugst dieses ja erst in der Zeile drunter.

Außerdem solltest du dir vielleicht überlegen, ob du nicht sowieso nur die Einträge des entsprechenden Monats auslesen willst. Das spart dir die if-Abfrage und schont die DB.
PHP:
$abfrage = "SELECT artist,titel,date,info,monat FROM sdance WHERE monat = 'August'";
 
mein vorgänger hat folgende möglichkeiten beschrieben:-):

Möglichkeit 1
PHP:
$abfrage = "SELECT artist,titel,date,info,monat FROM sdance";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
   	if ($row->monat == "August") 
	{
    	echo '
				<tr>
					<td height=\"19\" width=\"37\">$row->date</td>
					<td height=\"19\" align=\"center\" width=\"436\">$row->artist - $row->titel</td>
					<td height=\"19\" align=\"center\" width=\"47\"><a href=\"java script:void(0);\" onMouseOver=\"return overlib('$row->info');\" onMouseOut=\"return nd();\">info</a></td>
				</tr>
			</table>            
		</TD>
	</TR>
	</TBODY>
</TABLE>
			<script language=\"JavaScript\" src=\"../../../../templates/musik/singels/overlib.js\"><!-- overLIB (c) testet --></script>
			<div id=\"overDiv\" style=\"position:absolute; visibility:hidden; z-index:1000;\"></div>
		</TD>
	</TR>
	</TBODY>
</TABLE>';
	}
}

Möglichkeit 2 (die bessere :D):
PHP:
$monat = 'August';
$abfrage = "SELECT artist,titel,date,info,monat FROM sdance WHERE monat = '".$monat."'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
    echo '
				<tr>
					<td height=\"19\" width=\"37\">$row->date</td>
					<td height=\"19\" align=\"center\" width=\"436\">$row->artist - $row->titel</td>
					<td height=\"19\" align=\"center\" width=\"47\"><a href=\"java script:void(0);\" onMouseOver=\"return overlib('$row->info');\" onMouseOut=\"return nd();\">info</a></td>
				</tr>
			</table>            
		</TD>
	</TR>
	</TBODY>
</TABLE>
			<script language=\"JavaScript\" src=\"../../../../templates/musik/singels/overlib.js\"><!-- overLIB (c) testet --></script>
			<div id=\"overDiv\" style=\"position:absolute; visibility:hidden; z-index:1000;\"></div>
		</TD>
	</TR>
	</TBODY>
</TABLE>';
}

greetz bloddy
 
hab den Code was modifiziert, und nun spuckt er ne Fehlermelgdung aus:

PHP:
 include("config.inc.php");
 
$db = mysql_connect($db_host, $db_user, $db_pass);

  $monat = 'Juni';
  $abfrage = "SELECT interpret,titel,date,info,monat FROM sdance WHERE monat = '".$monat."'";
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis)) // Fehler 
    {
    echo "


Weiß einfach nicht woran das liegt.
 
Hm, ich bin mir nicht sicher , aber wo wird den die VErbindung zu der Datenbank hergestellt?Du hast die Verbindung nur als '$db' definiert.. aber nierengswo anders genutzt?!Vlt. bin ich ja nur blind...
Die Fehlermeldung , die er auspsuckt , würde mich (uns) interressieren, um besser auf dein Prob. eingehen zu können... danke
cu alive
 
Diese Meldung spuckt er aus:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/v079556/test/singels/juni.php on line 94
 
Dann ist vermutlich mit deiner Query was nicht in Ordnung, obwohl sie korrekt aussieht. Ist da wirklich alles richtig (Feldnamen, Groß- / Kleinschreibung (wenn Unixsys) etc.)?
 
Zurück