login  Naam:   Wachtwoord: 
Registreer je!
 Forum

fetch weergeeft niks probleem

Offline Warbringer - 15/11/2007 21:46
Avatar van WarbringerOnbekend Mijn code:

http://plaatscode.be/4033/

De fout:

Bovenste gedeelte weergeeft keurig netjes de producten.
Onderste gedeelte doet NIKS... blijft wit (achtergrond) ...


iemand enig idee?

10 antwoorden

Gesponsorde links
Offline Wim - 15/11/2007 21:57
Avatar van Wim Crew algemeen #
echo "<script language="javascript"> alert(''); </script>";
#
echo "<script language="javascript"> location.href=''; </script>";

da's een parse error, escape je quotes!
Offline ikki007 - 15/11/2007 22:00
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Of zet single quotes om je echo heen.
Offline Stijn - 15/11/2007 22:02
Avatar van Stijn PHP expert
ikki007 schreef:
Of zet single quotes om je echo heen.
Dan verleg je het probleem hé. Je moet dan de single quotes backslashen.
Offline Warbringer - 15/11/2007 22:17
Avatar van Warbringer Onbekend dat is onderaan de pagina! (na de </html>
Het probleem is dat ik twee keer iets uit de database weergeef.

Een keer 0 t/m 24, een stuk eronder 25 t/m 48

Probleem is dat hij 25 t/m 48 niet weergeeft.

De eerste while{} werkt dus goed, de tweede weergeeft niks
en dat terwijl er toch echt data in de mysql database staat!
Offline Wim - 15/11/2007 22:28
Avatar van Wim Crew algemeen zet het foutieve stuk code hier eens neer, er zit een bug in plaatscode.be i.v.m. het escapen van characters
Offline Warbringer - 15/11/2007 22:37
Avatar van Warbringer Onbekend deze werkt wel:
  1. <?php
  2. $query = mysql_query("SELECT name, description FROM products WHERE name LIKE '%".$_GET['sid']."%' ORDER BY name ASC LIMIT 0,24");
  3. echo "<table width=\"100%\">";
  4. $color = 0;
  5. while($fetch = mysql_fetch_array($query))
  6. {
  7. $nColor = ($color++ %2 == 0) ? "#FFCCCC" : "FF0066";
  8. echo "<tr><td class=\"coloredtext\" bgcolor=\"".$nColor."\">".substr($fetch['name'], 0, 10)."</td><td class=\"coloredtext\" bgcolor=\"".$nColor."\">".substr($fetch['description'], 0, 60)."</td></tr>";
  9. }
  10. echo "</table>";
  11. ?>


Deze werkt niet (zelfde pagina):

  1. <?php
  2. $query = mysql_query("SELECT name, description FROM products WHERE name LIKE '%".$_GET['sid']."%' OR category LIKE '%".$_GET['sid']."%' ORDER BY name ASC LIMIT 25,48");
  3. echo "<table width=\"100%\">";
  4. $color = 0;
  5. while($fetch = mysql_fetch_array($query))
  6. {
  7. $nColor = ($color++ %2 == 0) ? "#FFCCCC" : "FF0066";
  8. echo "<tr><td class=\"coloredtext\" bgcolor=\"".$nColor."\">".substr($fetch['name'], 0, 10)."</td><td class=\"coloredtext\" bgcolor=\"".$nColor."\">".substr($fetch['description'], 0, 60)."</td></tr>";
  9. }
  10. echo "</table>";


Zelfde code alleen de LIMIT in de query is anders...
Offline Wim - 15/11/2007 22:51
Avatar van Wim Crew algemeen zet achter je query eens: or die(mysql_error());

en echo $_GET['sid'] ook eens, en geef de waarde eens!

bovendien, gooi die vars in je query door een PHP.net: mysql_real_escape_string
Offline Warbringer - 15/11/2007 22:55 (laatste wijziging 15/11/2007 22:56)
Avatar van Warbringer Onbekend geen foutmelding van de mysql... 

en echo $_GET['sid']; geeft gewoon wat ik in de URL heb staan dus die werkt prima...

error_reporting(E_ALL);
deze geeft ook geen foutmelding of niks...

groetjes
Offline koko - 16/11/2007 09:32
Avatar van koko Nieuw lid Hoi,

Zet je query eens in een aparte variabele en voer die var dan uit. Echo de var voordat je deze uitvoert. Kijk na of alles in de query is ingevuld. Soms kan het hieraan liggen...
Offline ranco - 16/11/2007 10:07
Avatar van ranco PHP gevorderde Heb je wel meer als 25 producten in je database staan? lol
Door je limit 25 begin je vanaf veld 25 te zoeken. Dus als je minder dan 25 producten in je database hebt staan zal het ook niet werken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s