Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    11

    selezionare un rekord specifico

    Scusatemi ma sono ancora ai rudimenti di php ed avrei bisogno di aiuto

    uso Apache 1.3.27 Php 4.2.3 e MySql
    tutti e tre sembrano funzionare bene perchè riesco a legggere e scrivere sul Db ma non riesco a fare funzionare questa procedura

    con le seguenti istruzioni


    per fare un controllo aggiungo
    $a="PIPPO";

    di ogni rekord ottengo correttamente data e titolo cliccabili per richiamare gli altri campi e dall'elenco seleziono il rekord con id=4

    il browser attiva il file /view.php?id=4


    nel file view.php ho inserito

    echo"$a";
    echo"$id";
    mi aspettavo di leggere la variabile $a=PIPPO definita nel file precedente e il valore di id=4 ma non ottengo alcun valore

    il gb sembra aperto correttamente e non mi da informazioni di problemi di connessione

    tra le altre istruzsioni ci sono anche queste:


    $query = "SELECT titolo,testo,data,autore,mail FROM news WHERE id='$id'";

    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);

    echo "$row[titolo]
    ";
    echo "$row[testo]
    ";

    e non ottengo nulla

    Dove sbaglio?
    Ho capito male o è possibile difinire una variabile in un file e leggerla in un altro ?


    grazie a buona serata a tutti

  2. #2
    che
    echo "$a";
    (devi mettere uno spazio tra echo e gli apici, ma in questo caso gli apici sono inutili)
    non stampi niente è normale, visto che $a lo hai specificato nella pagina precedente e non in quella dove fai echo $a;

    invece
    echo "$row[titolo]
    ";
    echo "$row[testo]
    ";
    dovrebbe stampare i valori correttamente... assicurati che la query sia corretta usando
    $result = mysql_query($query, $db) or die(mysql_error().'
    '.$query);
    visitate http://camicio.altervista.org per caxxate varie :d

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    11
    grazie della risposta


    dovrò rivedere le mie scarse conoscenze
    credevo che le variabili restassero in memoria anche quando si entra un un'altra pagina.

    ho inserito la tua modifica ma purtroppo continua a non funzionare

    ti posto tutto il file view.php

    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "SELECT titolo,testo,data,autore,mail FROM news WHERE id='$id'";
    $result = mysql_query($query, $db) or die(mysql_error().'
    '.$query);
    $row = mysql_fetch_array($result);

    $data = date("j/n/y", $row[data]);
    echo "$row[titolo]

    ";
    echo "$row[testo]

    ";
    if ($row[mail] != "") echo "$data, <a href=mailto:$row[mail]>$row[autore]</a>
    ";
    else echo "$data, $row[autore]
    ";
    echo "
    <a href=index.php>Torna alla pagina iniziale</a>
    ";
    echo "<a href=all.php>Visualizza tutti gli articoli</a>
    ";
    mysql_close($db);
    foot();
    ?>


    questo è il testo che ho di ritorno e guardando la data penso che il rekod non sia stato letto
    I due link finali funzionano bene ed elencano correttamente i rekord richiesti

    1/1/70,

    Torna alla pagina iniziale
    Visualizza tutti gli articoli

    grazie

  4. #4
    probabilmente non esistono news con quell'id...

    $query = "SELECT titolo,testo,data,autore,mail FROM news WHERE id='$id'";
    $result = mysql_query($query, $db) or die(mysql_error().'
    '.$query);
    if (!mysql_num_rows($result)) die("Non ci sono news con questo id");
    visitate http://camicio.altervista.org per caxxate varie :d

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    11
    scusami se sono ancora qui

    ho modificto con la tua struzione ed ottengo il messaggio di errore che manca il rekod con quell'id che invece trovo usando phpAdmin.

    per essere sicuro di non avere pasticciato ho cancellato la tabella news e l'ho ricreata e ripopolata con install.php e insert.php completando tutti i campi

    leggo tutti i campi data e titolo della tabella con index.php

    seleziono il link contenente un id ( diciamo il 2) per vedere altre informazioni che dovrebbero esere visualizzate trasferendo il valore 2 al file view.php

    (sull'indirizo del browser ho /view.php?id=2)

    purtroppo ottengo il messaggio che quella news non esiste

    se nella parte alta di view.php introduco

    $id=2;

    quando aggiorno la pagina, ottengo i dati che desideravo.


    mi sembra quasi che alla query non arrivi il valore di $id

    per le mie scarse capacità è un mistero


    grazie

  6. #6
    ho capito... non hai register_globals settato a On...

    due possibilità...
    modifichi questo valore nel php.ini
    o usi questa query..
    query = "SELECT titolo,testo,data,autore,mail FROM news WHERE id='$_GET[id]'";
    consiglio la seconda...
    visitate http://camicio.altervista.org per caxxate varie :d

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    11
    wow funziona benissimo grazie

    questo get è lo stesso di get e post?

    allora il programma view.php riceve dal programma chiamante il valore di id ma non lo attribuisce in automatico alla variabile $id che lui stà attualmente utilizzando

    ho capito più o meno giusto ?

  8. #8
    a lui arriva il valore di $_GET['id'], che è un array super globale (così come $_COOKIE,$_SESSION,$_POST,...)
    con il valore di register_globals a On quando si scrive ad esempio
    echo $id;
    se non si è specificat prima il valore di $id lui usa uno di quelli degli array super globali (non so in che ordine...)
    mentre se è impostato a Off non lo fa...
    (Almeno...a me risulta così... :P)
    sì il get lì è lo stesso di get e post (frasone... :P)
    ciao
    visitate http://camicio.altervista.org per caxxate varie :d

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    11
    grazie della cortesia

    mi hai risolto più di un problema


    ciao

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.