Link aanklikbaar maken werkt niet

  • Beste CP'ers,


    Ik heb wat gegevens opgeroepen uit de database en nu wil ik deze graag aanklikbaar maken. Alleen krijg ik een rare fout, namelijk:

    Citaat

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use


    Dit is de code waar het om gaat:

    PHP
    <h3> Hits </h3>
    <?php
    $query = mysql_query("SELECT * FROM radio WHERE cat = 1");
    while($hits = mysql_fetch_assoc($query)) 
                        {  
    echo "<ul><li><a onclick=\"luister('" . $query['titel'] . "')\">" . $hits['titel'] . "</a></ul></li> <br />";
                        } 
    ?>


    Ik hoop dat iemand me kan helpen.


    Met vriendelijke groet
    Nillas

  • Nee jackie zie je wat TS gaf de code zie dit code stukje:

    PHP
    $query = mysql_query("SELECT * FROM radio WHERE cat = 1");


    Moet dit zijn:


    PHP
    $query = mysql_query("SELECT * FROM radio WHERE cat = "1");


    Waarom: zie 1" achteraan moet "1" zijn lijkt me.


    [offtopic]Als dit fout is ik wou je graag helpen maar accu is leeg, dus doe m'n laptop nu uit en opladen maar.[/offtopic]

  • A.Bijlsma:


    PHP
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';'


    Dit is wat ik krijg als ik jouw code gebruik.

    Nieuwe reactie samengevoegd met originele reactie op 15.12.10 23:39:10:
    A.Bijlsma: Nee want dan krijg ik weer een andere error dat het nummer niet goed is.

  • PHP
    <h3> Hits </h3>
    <?php
    $query = mysql_query("SELECT * FROM `radio` WHERE `cat`=1");
    while($hits = mysql_fetch_array($query)) 
        {  
    		echo '<ul><li><a onclick="luister("'. $hits['titel'] .'")">' . $hits['titel'] . '</a></ul></li>';
        } 
    ?>


    Beetje veranderd, de oplossing is dat je $query['titel'] doet, terwijl dat natuurlijk $hits moet zijn.

  • Hier is de verbeterde versie van je.
    Deze werkt volgens mij 100%.


    @ Hierboven,
    Dat gaat niet werken, aangezien je in een url twee keer " opent.
    Tevens zijn die `` niet echt mooi in een query...


    PHP
    <h3>Hits</h3>
    <?php
    $query = mysql_query("SELECT * FROM radio WHERE cat = '1'");
    while($hits = mysql_fetch_array($query)){  
    	echo '<ul><li><a onclick=\"luister("'.$hits['titel'].'")\">'.$hits['titel'].'</a></ul></li>';
    } 
    ?>
  • Frank,


    Ik had die van jou niet bewerkt, maar direct vanaf de TS.
    En die werkt, netzelf getest.
    Maar je hebt gelijk, hierbij een nog betere versie:

    PHP
    <h3>Hits</h3>
    <?php
    $query = mysql_query("SELECT titel FROM radio WHERE cat = '1'");
    while($hits = mysql_fetch_array($query)){  
        echo '<ul><li><a onclick=\"luister("'.$hits['titel'].'")\">'.$hits['titel'].'</a></ul></li>';
    } 
    ?>


    Ik weet niet hoeveel kolommen er zijn in die tabel, maar als je bijv. een users tabel hebt met 50 kolommen, en je haalt alles op terwijl je er maar 1 nodig hebt = server verpesting.

  • Jullie weten dat de query met backtiks nu niet uitmaakt en dat er iets mis in de database of dat je iets opvraagt wat niet bestaat in de tabel radio?


    Voor de rest had je ook een fout met de variabel $query['titel'] welk gewoon $hits['titel'] moet zijn! ;)

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Allemaal hartstikke bedankt voor de hulp.
    Het is nu opgelost. Dit is de goede code:

    PHP
    <h3>Hits</h3>
    <?php
    $query = mysql_query("SELECT id,titel FROM radio WHERE cat = '1'");
    
    
    while($hits = mysql_fetch_array($query)){  
        echo '<ul><li><a onclick="luister('.$hits['id'].')">'.$hits['titel'].'</a></ul></li>';
    } 
    ?>


    :slotje:

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!