Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problemino php/mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    Problemino php/mysql

    Stò seguendo un tutorial trovato su questo sito di php/mysql

    Questo script dovrebbe tirare fuori i primi 5 articoli dal database e stampare i titoli con un link all'articolo....come mai non funziona bene e mi dà il seguente messaggio di errore:

    Notice: Use of undefined constant data - assumed 'data' in c:\programmi\easyphp1-8\www\prova\index.php on line 24
    ahref="view.php?id=2">31/8/05 - Prova 2
    ;w[titolo]

    Notice: Use of undefined constant data - assumed 'data' in c:\programmi\easyphp1-8\www\prova\index.php on line 24
    ahref="view.php?id=3">31/8/05 - Prova 3
    ;w[titolo]

    Notice: Use of undefined constant data - assumed 'data' in c:\programmi\easyphp1-8\www\prova\index.php on line 24
    ahref="view.php?id=4">31/8/05 - Prova 3
    ;w[titolo]

    Notice: Use of undefined constant data - assumed 'data' in c:\programmi\easyphp1-8\www\prova\index.php on line 24
    ahref="view.php?id=5">31/8/05 - Prova 4
    ;w[titolo]

    Notice: Use of undefined constant data - assumed 'data' in c:\programmi\easyphp1-8\www\prova\index.php on line 24
    ahref="view.php?id=6">31/8/05 - Prova 5
    ;w[titolo]


    codice:
    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();
    
    //Lo script si connette al database
    $db = mysql_connect($db_host, $db_user, $db_password);
    if($db == FALSE)
    	die("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    	
    //Se si è connesso al db, seleziona il database
    mysql_select_db($db_name, $db) or die("Errore nella selezione del database.
    									Verificare i dati nel file config.inc.php");
    									
    //Definisco la query che dirà a mysql di selezionare gli ultimi articoli n
    //ordine cronologico
    
    $query = "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT 0,5";
    
    //Invio la query al database
    $result = mysql_query($query, $db);
    
    while($row = mysql_fetch_array($result)){
    	echo "ahref=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) .
    	" - $row[titolo]</a>
    ;w[titolo]</a>
    ";
    }
    
    mysql_close($db);
    foot();
    ?>
    Che è?

    Grazie
    Andrea

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    sbagliata sezione...i mod potrebbero gentilmente spostarlo in PHP...

    Grazie e scusatemi

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    I notice non sono veri e propri errori che compromettono l'esecuzione dello script.

    In questo caso sembra che ti avverta soltanto che stai usando'data' che potrebbe essere una costante non inizializzata.

    Molti di solito trisolvono disabilitando la visualizzazione dei notice dal php.ini
    No pvt per sollecitare risposte, grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    ahhh quindi non è un problema dello script ma un'opzione del server? quindi dovrei entrare nella cartella del php e modificare il file php.ini per disabilitarlo?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Non e' che e' colpa del server... sarebbe meglio risolvere il problema migliorando il codice....

    Capita spesso che una pagina prodica notice funzionando lo stesso, infatti basta un test su una variabile non inizializzata per produrne uno. Per questo spesso si disabilita la visualizzazione dei notice.

    Ora che ci penso bene nel tuo caso forse basta aggiungere gli apici a data, scrivendo $row['data'] essendo che data e' un indice di array, ma non ne sono certissimo. Potresti provare.

    Ciao ciao
    No pvt per sollecitare risposte, grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    ora provo...l'altra cosa che mi sembra strana è che non mi mette il link all'articolo intero

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    si ora i notice sono spariti anche se non nho ben capito perchè....però non h risolto il problema del titolo dell'articolo con il link all'articolo completo...ottengo questo:

    ahref="view.php?id=2">31/8/05 - Prova 2
    ;w[titolo]
    ahref="view.php?id=3">31/8/05 - Prova 3
    ;w[titolo]
    ahref="view.php?id=4">31/8/05 - Prova 3
    ;w[titolo]
    ahref="view.php?id=5">31/8/05 - Prova 4
    ;w[titolo]
    ahref="view.php?id=6">31/8/05 - Prova 5
    ;w[titolo]

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Perche' e' successo un casino con il copia incolla nell'ultimo while:
    codice:
    while($row = mysql_fetch_array($result)){
    	echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) .
    	" - $row[titolo]</a>
    ";
    }
    Cambialo cosi'.......
    No pvt per sollecitare risposte, grazie.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    Si funziona...grazie mille...ricapitolando ditemi se ho capito bene...

    Per non visualizzare i notice ho dovuto mettere gli apici a data perchè data è un indice di un array che contiene i seguenti indici: id,data,titolo e viene restituito dalla query?

    Grazie
    Andrea

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    esatto, proprio cosi'...
    I notice ti avvertivano che quel data non era chiaro cosa fosse, una volta messi gli apici ha capito correttamente che era un indice dell'array...

    Per gli errori seguenti invece era semplicemente un errore di copia incolla che ti danneggiava il ciclo...

    Ciao ciao
    No pvt per sollecitare risposte, grazie.

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.