Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Errore T_VARIABLE

  1. #1

    Errore T_VARIABLE

    Cosa c'è di errato?

    codice:
    <?
    if ($ID1=="") {
    $ID1="2";
    }
    if ($ID=="") {
    $ID="1";
    }
    $query = "SELECT ID_areesx,Titolo_areesx FROM areesx WHERE ID_areesx = $ID1";
    $result = mysql_query($query, $db);
    while ($rows = mysql_fetch_array($result)) {
    echo "[img]images/indice3.gif[/img] ".$rows["Titolo_areesx"]."";
    
    $query2 = "SELECT ID,Titolo,Area,Link,Sottoarea FROM sottoaree WHERE ID = $ID AND Area = $ID1";
    $result2 = mysql_query($query2, $db);
    while ($rows2 = mysql_fetch_array($result2)) {
    echo " [img]images/indice3.gif[/img] ".$rows2["Titolo"]."";
    }
    }
    ?>
    </td>
      </tr>
    </table>
    
    
    <?
    $query = "SELECT ID,Titolo,Descrizione,Testo,Data,Ora,Scadenza,Area,Link,Sottoarea,Sottoarea2 FROM notizie WHERE Area = $ID1 AND Sottoarea = $ID ORDER BY ID DESC";
    $result = mysql_query($query, $db);
    while ($rows = mysql_fetch_array($result)) {
    $link = $rows["Link"];
    $area = $rows["Area"];
    $sottoarea = $rows["Sottoarea"];
    $sottoarea2 = $rows["Sottoarea2"];
    if ($link=="" AND $sottoarea2=="") {
    echo "[img]images/indice2.gif[/img] <font size=2><a href=articolo.php?ID2=".$rows["ID"]."&ID1=".$ID1.">".$rows["Titolo"]."</a></font>
    
    ";
    }
    if ($link!="" AND $sottoarea2=="") {
    echo "[img]images/indice2.gif[/img] <font size=2>".$rows["Titolo"]."</font>
    
    ";
    }
    if ($sottoarea2!="") {
    
    $query3 = "SELECT ID,Titolo,Area,Link FROM sottoaree WHERE ID = $ID";
    $result3 = mysql_query($query3, $db);
    while ($rows3 = mysql_fetch_array($result3)) {
    if ($rows3["Link"]="") {
    echo "[img]images/indice2.gif[/img] <font size=2><a href=sottoarea2.php?ID2=".$rows3["ID"]."&ID=".$ID."&ID1="$ID1.">".$rows3["Titolo"]."</a></font>
    
    ";
    } else {
    echo "[img]images/indice2.gif[/img] <font size=2>".$rows3["Titolo"]."</font>
    
    ";
    }
    }
    }
    }
    ?>
    Dice:

    Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in c:\programmi\easyphp1-7\www\database\sottoarea.php on line 70

    La linea 70 sarebbe:

    echo "[img]images/indice2.gif[/img] <font size=2><a href=sottoarea2.php?ID2=".$rows3["ID"]."&ID=".$ID."&ID1="$ID1.">".$rows3["Titolo"]."</a></font>

    ";

  2. #2
    Quando fai concatenamenti con il punto (che personalmente ritengo solo una complicazione perfettamente inutile) dividi la stringa nei suoi blocchi per cercare un errore.
    codice:
    echo "[img]images/indice2.gif[/img]
    <font size=2>
    <a href=sottoarea2.php?ID2="
    .$rows3["ID"].
    "&ID="
    .$ID.
    "&ID1="
    $ID1.
    ">"
    .$rows3["Titolo"].
    "</a></font>
    
    ";
    Come puoi vedere facilmente, ti manca un punto di concatenamento a $ID1


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Giusto
    Come si può fare per evitare il punto?

  4. #4

    PS

    Ora dice:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-7\www\database\sottoarea.php on line 41

    Ovvero (nela seconda query):

    $result2 = mysql_query($query2, $db);


  5. #5
    Originariamente inviato da poeta1978
    Giusto
    Come si può fare per evitare il punto?
    Premesso che ci sono vari modi tutti perfettamente equivalenti e che non rompa chi sostiene piu' performanti, e' tutto un problema di leggibilita'. Van tutti bene se lo leggi bene, il che e' soggettivo.

    Personalmente una stringa tipo la tua la metterei cosi' come segue, anche perche odio le stringhe troppo lunghe o divise senza un senso logico o senza portabilita':
    codice:
    echo "
    <img src = 'images/indice2.gif' alt = 'indice'><font size = '2'>
    <a href = sottoarea2.php?ID2=$rows3[ID]&ID=$ID&ID1=$ID1>$rows3[Titolo]</a>
    </font>< /br>< /br>
    ";
    Se leggi meglio con le graffe usa le graffe e' un ottimo sistema pure quello. I peggiori sono il parser \" e il concatenamento.

    Sempre, ovviamente, a mio parere.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6

    Re: PS

    Originariamente inviato da poeta1978
    Ora dice:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-7\www\database\sottoarea.php on line 41

    Ovvero (nela seconda query):

    $result2 = mysql_query($query2, $db);

    Metti la segnalazione di errore alla query:

    $result = mysql_query($query, $db) OR DIE(mysql_error));

    ma la connessione e la scelta del db la fai? vero?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Grazie 1000 per la tua sempe pronta disonibilità

  8. #8
    codice:
    SELECT ID,Titolo,Area,Link,Sottoarea 
    FROM sottoaree 
    WHERE ID = $ID 
    AND Area = $ID1
    Apici mancanti a '$ID1'

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Tutto apposto! Comunque certo che faccio la connessione... io dico che il php non lo mastico ancora bene... però

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.