Toon posts:

[PHP] I'm stuck...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een stukje code om iets uit m'n database te zoeken,dit is de code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
 <?

                          require("variables.php3");

                          $sql = "select * from mp3s where Artist = '$a' AND Song = '$s' LIMIT 0, 10";
                          $result = mysql_query($sql) or die (mysql_error());
                          $aantal = mysql_num_rows($result);
                          while ($row = mysql_fetch_object($result)) {

                          $artist = stripslashes($row->Artist);
                          $song = stripslashes($row->Song);

                          if ($aantal > 0)
                          {
                          ?>

                            <tr>
                              <td><a href="getsong?id=<? echo "$row->id" ?>&amp;key=<? echo "$row->verify"; ?>"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                                <? echo "$artist - $song"; ?></font></a></td>
                            </tr>

                            <?
                            }
                            }
                            else
                            {

                            ?>
                              <tr>
                              <td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                               No results have been found for a 100% match</font></a></td>
                            </tr>
                            <?
                            }
                            
?>

Nu geeft m'n php een error op lijn 94, dat is in dit stukje:


<?
}
}
else
{

?>

wie weet wat ik fout doe? Want naar mijn idee sluit ik gewoon de if en de while loop netjes af hier, iemand suggesties?

Verwijderd

kweenie zeker maar volgus mij sluit je lekker je if en je while af en doe je daarna een else. Vervolgends sluit je helemaal onderaan nog een keer je while af (tenminste, ik denk dat je denkt dat je dat doet).

Edit: ohnee, daar sluit je die else af.

Anders doe je dat tussenstukje html toch lekker met een echo, dan krijg je waarschijnlijk een duidelijker error.

Verwijderd

Topicstarter
NEe dat ding onderaan is de else die ik afsluit, maar ik zal ff echo'en ja

  • Jelle Niemantsverdriet
  • Registratie: Februari 2000
  • Laatst online: 11:16
PHP:
1
2
3
<?
echo "$row->id" 
?>

; vergeten

Verwijderd

wie weet wat ik fout doe? Want naar mijn idee sluit ik gewoon de if en de while loop netjes af hier, iemand suggesties?
Ja, je probeert je while af te sluiten midden in een IF, dat gaat dus niet.

je hebt nu
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
while ($row = mysql_fetch_object($result)) {

code ..

if ($aantal > 0){

code ..

}
} <-- zit de fout
else {

code ..

}
?>

Dus eerst IF afmaken en daarna while sluiten :)

Verwijderd

Maargoed, er blijft dus volgus mij een } teveel, waardoor je ook je while afsluit en daarna een else doet. Dan zou ik als parser ook gaan brullen.

Verwijderd

Op donderdag 11 oktober 2001 11:00 schreef Jelle Niemantsverdriet het volgende:
PHP:
1
2
3
<?
echo "$row->id" 
?>

; vergeten
Dat ook ja :)

Verwijderd

Topicstarter
Op donderdag 11 oktober 2001 11:00 schreef avthart het volgende:

[..]

Ja, je probeert je while af te sluiten midden in een IF, dat gaat dus niet.

je hebt nu
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
while ($row = mysql_fetch_object($result)) {

code ..

if ($aantal > 0){

code ..

}
} <-- zit de fout
else {

code ..

}
?>

Dus eerst IF afmaken en daarna while sluiten :)
Ja maar waar moetik die afsluite dan, hij moet nl gewoon na de </tr> afgesloten worden, ik zie geen andere plek...?!

Verwijderd

Als je netjes had gecode was dit waarschijnlijk niet gebeurd.
Lees het topic dat is opgenomen in de faq eens door:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
require("variables.php3");
$sql = "select * from mp3s where Artist = '$a' AND Song = '$s' LIMIT 0, 10";
$result = mysql_query($sql) or die (mysql_error());
$aantal = mysql_num_rows($result);
while ($row = mysql_fetch_object($result)) 
{
    $artist = stripslashes($row->Artist);
    $song = stripslashes($row->Song);
    if ($aantal > 0)
    {                  
        echo "<tr><td><a href=\"getsong?id=$row->id&amp;key=$row->verify\">
              <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                      $artist - $song</font></a></td></tr>";
        }                            
}                            
else                            
{   
    echo "<tr><td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
              No results have been found for a 100% match</font></a></td></tr>";
}                            
?>

Klopt als het goed is wel.

Verwijderd

Topicstarter
Op donderdag 11 oktober 2001 11:06 schreef daniel_hoenderdos het volgende:
Als je netjes had gecode was dit waarschijnlijk niet gebeurd.
Lees het topic dat is opgenomen in de faq eens door:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
require("variables.php3");
$sql = "select * from mp3s where Artist = '$a' AND Song = '$s' LIMIT 0, 10";
$result = mysql_query($sql) or die (mysql_error());
$aantal = mysql_num_rows($result);
while ($row = mysql_fetch_object($result)) 
{
    $artist = stripslashes($row->Artist);
    $song = stripslashes($row->Song);
    if ($aantal > 0)
    {                  
        echo "<tr><td><a href=\"getsong?id=$row->id&amp;amp;key=$row->verify\">
              <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
                      $artist - $song</font></a></td></tr>";
        }                            
}                            
else                            
{   
    echo "<tr><td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
              No results have been found for a 100% match</font></a></td></tr>";
}                            
?>

Klopt als het goed is wel.
Ja...ik kan ook echt geen fout ontdekken, hoe ik dit zou moeten oplossen, zo heb ik t toch echt geleerd en ook vaker gedaan en toen werkte het ook (dacht ik *D)

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 16-09 11:38
even offtopic, maar vinden jullie die [ code ] ... [ /code ] tags nou duidelijk? ik vind het zo onlees baar als de pest...

Verwijderd

Op donderdag 11 oktober 2001 11:05 schreef DaWasIkNie het volgende:

[..]

Ja maar waar moetik die afsluite dan, hij moet nl gewoon na de </tr> afgesloten worden, ik zie geen andere plek...?!
euh, nadat je de else afsluit natuurlijk. Dat is namelijk ook na de TR.

Verwijderd

Topicstarter
Op donderdag 11 oktober 2001 11:12 schreef fladder het volgende:

[..]

euh, nadat je de else afsluit natuurlijk. Dat is namelijk ook na de TR.
Hehe...ok :) tnx!

Verwijderd

Op donderdag 11 oktober 2001 11:10 schreef Mister_X het volgende:
even offtopic, maar vinden jullie die [ code ] ... [ /code ] tags nou duidelijk? ik vind het zo onlees baar als de pest...
Yep, ik vind het ook niet echt relax, maar het is wel beter als gewoon de code neer te zetten in je post (zonder [code ]).

Verwijderd

Test mijn code eens anders. Zou foutloos moeten werken.
Tip:
Chem heeft ooit de snelheid van fetch_array en fetch_object eens getest, fetch_array was sneller.
Maakt verder dus geen tiet uit, maar het valt te overwegen... :)

Verwijderd

Topicstarter
Hehe....en wat scheelt? :D

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 11 oktober 2001 11:19 schreef daniel_hoenderdos het volgende:
Chem heeft ooit de snelheid van fetch_array en fetch_object eens getest, fetch_array was sneller.
Maakt verder dus geen tiet uit, maar het valt te overwegen... :)
Dat had ik je ook wel kunnen vertellen zonder te benchmarken hoor :)

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

Op vrijdag 12 oktober 2001 09:44 schreef DaWasIkNie het volgende:
Hehe....en wat scheelt? :D
heel weinig. Ook weer langzamer is fetch_array($rs,MYSQL_ASSOC); opgeven.

Klaar voor een nieuwe uitdaging.

Pagina: 1