Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    34

    Aiuto connessione a database con php

    Salve ragazzi,
    sto provando a costruire un sito che diciamo venga modellato dall'utente utilizzando php e un database creato tramite la piattaforma phpmyadmin.
    Allora la questione è questa ho costruito una prima pagina iniziare in cui l'utente tramite una select inserita in una form deve scegliere il colore di sfondo che darà alla pagina:
    codice:
    <HTML>
      <BODY>
       <FORM ACTION="step2.php" METHOD=GET>
        <SELECT NAME=colore>
         <OPTION VALUE=Nero>Nero</OPTION>
         <OPTION VALUE=Bianco>Bianco</OPTION>
        </SELECT>
        <INPUT TYPE=SUBMIT VALUE="INVIA">
       </FORM>
      </BODY>
     </HTML>
    Questa pagina tramite la form invia alla seconda pagina il risultato e fin qui tutto bene perché nel url della seconda pagina mi risulta che la scelta dell'utente sia stata ricevuta solamente che il colore di sfondo della pagina non cambia, questo è il codice della seconda pagina:
    codice:
    <HTML>
      <?PHP   
        $colore=$_GET["colore"];     
        $CONNESSIONE=MYSQL_CONNECT("localhost","root","mysql");     
        $DB=MYSQL_SELECT_DB("miosito",$CONNESSIONE);   $SQL="selec s.Url from sfondo s where s.Nome=\"$colore\"";   
        $QUERY=MYSQL_QUERY($SQL);   
        $bodycolor=$QUERY;   
       ?>
      <BODY BGCOLOR='<?PHP echo "$bodycolor"; ?>'>
      </BODY>
     </HTML>
    Come vedete tramite $_GET ricevo la scelta dell'utente che dovrà essere confrontata con una tabella del mio database questa tabella è strutturata nel seguente modo:
    |sfondo |
    |-------|
    |nome |
    |url |
    |_____ |
    scusate il disegnino molto rudimentale....:P......in questa tabella sono inseriti due record il primo è nome=nero url=#000000 il secondo è nome=bianco url=#FFFFFF.
    Quindi la seconda pagina stabilisce la connessione al db seleziona la tabella ed effettua la richiesta che viene associata ad una variabile in conclusione il valore di questa variabile viene stampato come valore di bgcolor in body.
    Il problema come ho già detto prima è che non succede nulla, da quanto ho capito dovrebbe essere nella richiesta perché se provo a stampare nella pagina il valore della variabile $bodycolor non mi stampa niente.
    Sapete dirmi cosa fare....chiedo scusa ma è la prima volta che arrivo a gestire un database così non l'ho mai fatto e sto imparando.

  2. #2
    Codice PHP:
    $bodycolor=mysql_fetch_assoc($QUERY);
    print_r($bodycolor); 
    Se fai così cosa printa?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    34
    mi da errore:
    Notice: Undefined variable: QUERY in C:\Program Files\EasyPHP 3.0\www\step2.php on line 7

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 3.0\www\step2.php on line 7
    sulla linea del mysql_fetch

  4. #4
    Codice PHP:
    <?php   
    $colore
    =$_GET["colore"];     
    $Connessione mysql_connect("localhost","root","mysql") or die(mysql_error());     
    $Db mysql_select_db("miosito",$CONNESSIONE) or die(mysql_error());   
    $Sql="select s.Url from sfondo s where s.Nome='$colore'";   
    $Query mysql_query($SQL) or die(mysql_error());   

    $bodycolor=mysql_fetch_assoc($Query);   
    ?>
    Ti stavo scrivendo il debug quando ho visto che nella query hai scritto "selec anziché "select".
    Prova a correggerla ed al limite vedi se muore il codice qui sopra (sempre che io non abbia scritto qualche cappellata).

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    34
    Mamma che figura...:$ fortunatamente però non è quello che non fa funzionare la cosa...:S ci deve essere qualche altro problema...
    Ma può essere che è qualche problema con il database?cioè io l'ho creato in php my admin poi non ho fatto niente più....si deve fare qualcosa in particolare per collegarlo al sito oltre la connessione come ho già fatto?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    34
    inserendo i messaggi di errore mi da il seguente messagio:
    Errore di sintassi nella query SQL vicino a 'Nome=Nero' linea 1
    cosa significa???che errore ci può essere nell'assegnazione della query?
    intanto ho modificato la query in questo modo come mi insegno il mio prof di informatica:
    codice:
    $TAB="sfondo";   
    $SQL="SELECT Url FROM".$TAB;     
    $SQL= $SQL."WHERE Nome=".$colore;

  7. #7
    Significa che nella query devi mettere gli apici come nel mio esempio

    Campo='Valore'

    Perché è una stringa.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    34
    mmmm e ma io l'ho modificata così la query quindi non dovrebbe darmi quest'errore...:S
    o no?

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Forse manca un AS nella query
    Codice PHP:
    $Sql="select s.Url from sfondo AS s where s.Nome='$colore'"
    Prova un po'...

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    34
    no non è nemmeno quello l'errore anche perché se vedi due post indietro o modificato la query levando l'alias che non serve dato che opero su una sola tabella....raga ma può essere un errore di lettura?devo usare unza funzione fetch??Io le ho provate tutte ma mi danno tutte errore se scrivo tipo mysql_fetch_row($query); mi dicono che l'argomento inserito non è valido...ma perché?

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.