query-Fehler in DB - hänge fest?!

altox-de

Erfahrenes Mitglied
Hallo.
Ich habe folgenden Seitencode,
um auf der Startseite meines kleinen Katalogs
eine "Top-Anzeige" und die drei neuesten Anzeigen des Tages anzuziegen.

PHP:
<?PHP
include "./inc/config.inc.php";
include "./inc/systemeinstellungen.php";
include "./inc/de.php";
include "./system/funktionen.php";
$startzeit = getmicrotime();
db();
// abgelaufene Anzeigen sperren -------------------
mysql_query("UPDATE ".$dbtable02."
                SET code  = '5'
              WHERE gueltigbis <'".time()."' ");
// ------------------------------------------------

if ($zufalls_link =="ja")
{
   $querryx ="";
   if ($zufalls_link_status ==1)
   {
      $querryx =="AND commerz='ja'";
   }
   // Daten des Eintrags holen ----------------------------------------------------------
   $zufallslink_sql= mysql_query("SELECT siteid, artikel, beschreibung, rubrik, unterrubrik, bild, intention, preis, plz, vb, datum, commerz
                                    FROM ".$dbtable02."
                                   WHERE code='1'
                                         ".$querryx."
                                ORDER BY rand() LIMIT 1 ");
   while($ROW=mysql_fetch_array($zufallslink_sql, MYSQL_ASSOC))
   {
      $x_siteid      = $ROW['siteid'];
      $x_beschreibung= $ROW['beschreibung'];
      $x_name        = $ROW['artikel'];
      $x_preis       = $ROW['preis'];
      $x_datum       = $ROW['datum'];
      $x_intention   = $ROW['intention'];
	  $x_rubrik      = $ROW['rubrik'];
      $x_kategorie   = $ROW['unterrubrik'];
      $x_plz         = $ROW['plz'];
      $x_beschreibung= strip_tags($x_beschreibung);
      $x_beschreibung= html_entity_decode($x_beschreibung);



      if (strlen($x_beschreibung)> 190)
      {
         $x_beschreibung= substr($x_beschreibung,0,190);
         $x_beschreibung= $x_beschreibung."...";
      }
      $xx_name="<IMG HEIGHT=13 WIDTH=26 SRC=\"./gfx/starpre.gif\" ALIGN=\"bottom\" BORDER=0 ALT=\"\"> $x_name";
      $x_link="<IMG HEIGHT=11 WIDTH=6 SRC=\"./gfx/buttcenter.gif\" VSPACE=0 HSPACE=0 ALIGN=\"BOTTOM\" BORDER=0 ALT=\"Anzeige lesen..\"> <a href=\"./anzeige.php?id=$x_siteid\" class=\"content\" title=\"mehr Details\">Anzeige lesen</a><br>";
   }
}

$hello="Hallo, ";

if ($hello_user =="ja")
{
   // Begr&uuml;ssung Startseite --------------------------------
   if(date("G") < 11) {$hello="Guten Morgen, ";}
   if(date("G") <= 18 && date("G") >= 11) {$hello='Guten Tag, ';}
   if(date("G") > 18) {$hello='Guten Abend, ';}
   // ------------------------------------------------------
}

$seitentitel= "Willkommen im ".SITE_PROJEKT."";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<TITLE><?PHP echo $seitentitel ?></TITLE>
<link rel="stylesheet" type="text/css" href="./system/<?PHP echo $design_typ ?>">
<?PHP include "./inc/meta.php"; ?>
<script language="Text/JavaScript">
</HEAD>
<BODY BACKGROUND="./gfx/back.gif" TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>

<CENTER>

...
<TD WIDTH=573 class="einsa">



<?PHP

if ($zufalls_link =="ja" && $xx_name !="")

{

?> &nbsp;&nbsp;&nbsp;<b>TOP-Anzeigen im Wechsel:</b>

<div ALIGN=CENTER>

<TABLE BORDER=0 CELLSPACING=3 CELLPADDING=3 WIDTH=554 HEIGHT=20 class="praemiumbottom">

  <tr>


<?php
/// HIER DIE TOP-ANZEIGE AUSGEBEN
?> 
    <td width="98%" align="top" class="einsa"><b><?PHP echo $xx_name."</b><br>".$x_beschreibung."<br><br>".$x_datum." - \"".$x_rubrik."\" > \"".$x_kategorie."\" - Ort (Plz): ".$x_plz."  &nbsp;&nbsp; ".$x_link." "; ?>

    </td>

  </tr>

</table>

</div>

<?PHP

}

?>

<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=573 HEIGHT=302><TR ALIGN=LEFT VALIGN=TOP><TD><br>

<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=573><TR VALIGN=TOP ALIGN=LEFT>

<TD WIDTH=1><IMG SRC="./gfx/cpl.gif" WIDTH=1 HEIGHT=1 BORDER=0></TD>

<TD WIDTH=8><IMG SRC="./gfx/cpl.gif" WIDTH=8 HEIGHT=1 BORDER=0></TD><TD WIDTH=554 class="einsa">



<P><br> &nbsp;<b>Die <?PHP echo $treffer_startseite ?> neusten Anzeigen aus allen Rubriken:</b><br>

<?PHP

// Links zu den Anzeigen holen ----------------------------

$anzeigen_sql= mysql_query("SELECT siteid, unterrubrik, artikel, beschreibung, bild, intention, plz, datum, commerz

                                    FROM ".$dbtable02."

                                   WHERE code='1'

                                ORDER BY siteid DESC LIMIT 0,".$treffer_startseite." ");

while($ROW=mysql_fetch_array($anzeigen_sql, MYSQL_ASSOC))

{





   $beschreibung= strip_tags($ROW['beschreibung']);

   $artikel= $ROW['artikel'];

   if (strlen($beschreibung)> 230)

   {

      $beschreibung= html_entity_decode(substr($beschreibung,0,228));

      $beschreibung= $beschreibung."...";

   }

   $datas= date("d.m.Y");

   if ($ROW['datum'] == $datas)

   {

      $ordner= "<IMG HEIGHT=9 WIDTH=30 SRC=\"./gfx/neu.gif\" VSPACE=0 HSPACE=0 ALIGN=\"BOTTOM\" BORDER=0 ALT=\"\">";

   }

   else

   {

      $ordner= "";

   }

   if ($ROW['commerz'] =="Ja")

   {

      $butpre="<IMG HEIGHT=13 WIDTH=26 SRC=\"./gfx/starpre.gif\" ALIGN=\"bottom\" BORDER=0 ALT=\"Premiumeintrag\">";

      $windowdown=" class=\"praemiumbottom\" ";

   }

   else

   {

      $butpre="<IMG HEIGHT=11 WIDTH=6 SRC=\"./gfx/buttcenter.gif\" ALIGN=\"bottom\" BORDER=0 ALT=\"Standardeintrag\">";

      $windowdown=" class=\"nopraemium\" ";

   }

   $anzeige_link="<IMG HEIGHT=11 WIDTH=6 SRC=\"./gfx/buttcenter.gif\" VSPACE=0 HSPACE=0 ALIGN=\"BOTTOM\" BORDER=0 ALT=\"Anzeige lesen..\"> <a href=\"./anzeige.php?id=$ROW[siteid]\" class=\"content\" title=\"Anzeige lesen\">Anzeige lesen</a>";

   // Zweispaltige Ausgab Anzeigen ----------------------



   $bild = $ROW['bild'];

   if($bild =="nopicture.gif" || trim($bild) =="")

   {

      $bild= "<IMG SRC=\"./gfx/ohnemed.gif\" border=\"0\" width=\"78\" border=\"0\" alt=\"Anzeige lesen\">";

   }

   else

   {

      $bild="./bilder/".$bild;

      $bild ="<IMG SRC=\"tumbs.php?nb=78&bild=$bild\" width=\"78\" border=\"0\" alt=\"Anzeige lesen\">";

   }

   echo "<div ALIGN=CENTER>

           <TABLE BORDER=0 CELLSPACING=3 CELLPADDING=3 WIDTH=554 HEIGHT=20>

              <tr>

                 <td width=\"16%\" align=\"left\" valign=\"top\" class=\"einsa\"><a href=\"anzeige.php?id=".$ROW['siteid']."\">".$bild."</a>

                 </td>

                 <td  width=\"80%\" align=\"left\" valign=\"top\" class=\"einsa\"><b>".$ordner.$butpre." ".$artikel."</b><br>".$beschreibung."<br>

                 </td>

              </tr>

           </table>

           <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1 WIDTH=554 HEIGHT=2 ".$windowdown.">

              <tr>
<?php
/// HIER DIE 3 NEUESTEN ANZEIGEN AUSGEBEN
?> 
                 <td colspan=2 width=\"100%\" height=\"4\"><span class=\"einsa\">Datum: ".$ROW['datum']." - Rubrik: \"".$x_rubrik."\" > Kategorie: \"".$x_kategorie."\" - Ort (PLZ): ".$ROW['plz']." </span> &nbsp;&nbsp;&nbsp;".$anzeige_link."

                 </td>

              </tr>

           </table><br>

        </div>

        ";

}

?>



</P>
....


Leider erscheinen Bei "Kategorie" und "Rubrik" der drei neuesten ANzeigen immer die selben Daten wie bei der TOP-Anzeige.

Was mache ich falsch?

Danke für eure Hilfe!
 
Du benutzt bei der Top-Anzeige und bei den neusten Anzeigen genau die gleichen Variablen $x_rubrik und $x_kategorie, beide werden zwischendurch nicht mehr geändert... wie sollten da denn plötzlich andere Werte reinkommen? Ich glaube ich versteh dein Problem noch nicht ganz oder meinst du wirklich das?

Allgemeiner Hinweis zu solchen Problemen: Kopier bitte vor dem Posten die Datei und lösch aus der Kopie dann so lange alles unwichtige raus wie das Problem immer noch auftritt. Oft ist die Datei dann inzwischen übersichtlich genug, so dass du den Fehler selber sieht und wenn nicht nimmst du den Leuten hier im Forum ne Menge Arbeit ab bei der Fehlersuche. Wichtig ist nur beim Kürzen, dass das Problem immer noch auftritt und du trotzdem noch die komplette gekürzte Datei und nicht nur teile daraus hier einträgst.
 
Hallo, ja - das ist mir auch schon aufegefallen,
aber die Sache ist ja - dass "Rubrik" und "Kategorie" auch oben schon mal ausgelesen werden... Wie kann ich das denn dann für die drei neuen Anzeigen nochmals auslesen lassen? Danke
 
Du kannst die 2. SQL-Abfrage doch einfach um die beiden Felder ergänzen. Unterrubrik wird sowieso schon abgefragt, also nur noch Rubrik in die Abfrage einbauen und dann unten einfach $x_kategorie durch $ROW['unterrubrik'] und $x_rubrik durch $ROW['rubrik'] ersetzen.
 
Zurück