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

Discussione: ricavare dati database

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28

    ricavare dati database

    salve ragazzi ho bisogno di un aiuto...
    sto scrivendo uno script che mi estrapoli i dati da una tabella del database e me li stampi su una pagina.. ma non funziona...

    la tabella del database

    codice:
    -- Struttura della tabella `case`
    --
    
    CREATE TABLE IF NOT EXISTS `case` (
      `ID` bigint(20) NOT NULL AUTO_INCREMENT,
      `titolo` varchar(300) NOT NULL,
      `descrizione` text NOT NULL,
      `prezzo` varchar(300) NOT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
    
    --
    -- Dump dei dati per la tabella `case`
    --
    
    INSERT INTO `case` (`ID`, `titolo`, `descrizione`, `prezzo`) VALUES
    (1, 'Casa 1', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum quis dui eu urna viverra luctus ac id libero. In in ultricies sem. Sed mattis nunc non nulla hendrerit vitae rutrum nisi interdum. Aenean ut orci urna. Proin tempus rutrum vulputate. Pellentesque sed magna velit, sed varius arcu. Sed odio diam, egestas quis congue eget, bibendum sit amet diam. Curabitur congue ullamcorper eros. Aenean eget neque risus, eget dignissim mi. Nullam rutrum iaculis mauris, sit amet lacinia risus consequat vitae. Suspendisse consectetur lobortis purus at gravida. Aliquam aliquam, justo nec placerat iaculis, risus nisi vehicula nunc, ut ultricies nisl leo a.', '100.000€'),
    (2, 'Casa 2', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum quis dui eu urna viverra luctus ac id libero. In in ultricies sem. Sed mattis nunc non nulla hendrerit vitae rutrum nisi interdum. Aenean ut orci urna. Proin tempus rutrum vulputate. Pellentesque sed magna velit, sed varius arcu. Sed odio diam, egestas quis congue eget, bibendum sit amet diam. Curabitur congue ullamcorper eros. Aenean eget neque risus, eget dignissim mi. Nullam rutrum iaculis mauris, sit amet lacinia risus consequat vitae. Suspendisse consectetur lobortis purus at gravida. Aliquam aliquam, justo nec placerat iaculis, risus nisi vehicula nunc, ut ultricies nisl leo a.', '200.000€'),
    (3, 'Casa 3', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum quis dui eu urna viverra luctus ac id libero. In in ultricies sem. Sed mattis nunc non nulla hendrerit vitae rutrum nisi interdum. Aenean ut orci urna. Proin tempus rutrum vulputate. Pellentesque sed magna velit, sed varius arcu. Sed odio diam, egestas quis congue eget, bibendum sit amet diam. Curabitur congue ullamcorper eros. Aenean eget neque risus, eget dignissim mi. Nullam rutrum iaculis mauris, sit amet lacinia risus consequat vitae. Suspendisse consectetur lobortis purus at gravida. Aliquam aliquam, justo nec placerat iaculis, risus nisi vehicula nunc, ut ultricies nisl leo a.', '300.000€'),
    (4, 'Casa 4', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum quis dui eu urna viverra luctus ac id libero. In in ultricies sem. Sed mattis nunc non nulla hendrerit vitae rutrum nisi interdum. Aenean ut orci urna. Proin tempus rutrum vulputate. Pellentesque sed magna velit, sed varius arcu. Sed odio diam, egestas quis congue eget, bibendum sit amet diam. Curabitur congue ullamcorper eros. Aenean eget neque risus, eget dignissim mi. Nullam rutrum iaculis mauris, sit amet lacinia risus consequat vitae. Suspendisse consectetur lobortis purus at gravida. Aliquam aliquam, justo nec placerat iaculis, risus nisi vehicula nunc, ut ultricies nisl leo a.', '400.000€'),
    (5, 'Casa 5', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum quis dui eu urna viverra luctus ac id libero. In in ultricies sem. Sed mattis nunc non nulla hendrerit vitae rutrum nisi interdum. Aenean ut orci urna. Proin tempus rutrum vulputate. Pellentesque sed magna velit, sed varius arcu. Sed odio diam, egestas quis congue eget, bibendum sit amet diam. Curabitur congue ullamcorper eros. Aenean eget neque risus, eget dignissim mi. Nullam rutrum iaculis mauris, sit amet lacinia risus consequat vitae. Suspendisse consectetur lobortis purus at gravida. Aliquam aliquam, justo nec placerat iaculis, risus nisi vehicula nunc, ut ultricies nisl leo a.', '500.000€');

    il codice php che non funge, cioè mi risulta scritto "la ricerca non ha prodotto alcun risultato"...ma ne dovrebbe produrre...


    grazie anticipatamente per l'aiuto che mi darete...
    Codice PHP:

    <?php
    //variabili
    $db_server 'localhost';
    $db_name '***';
    $db_user '***';
    $db_pass '***';
    $table 'case';

    //mi connetto al database
    $connect mysql_connect($db_server,$db_user,$db_pass) or die('Non puoi connetterti: ' mysql_error());
    $db mysql_select_db($db_name,$connect) or die ('Impossibile connetterti: ' mysql_error());

    //lista case in vendita
    echo '<h3>CASE IN VENDITA</h3>';
    $sqlquery "SELECT * FROM $table";
    $result mysql_query($sqlquery);
    $number mysql_numrows($result);

    $i 0;

    if(
    $number 1){
        print 
    "<center>

    La ricerca non ha prodotto nessun risultato</p></center>"
    ;
    }
    else{
        while(
    $number $i){
            
    $title mysql_result($result,$i,"titolo");
            
    $prezzo mysql_result($result,$i,"prezzo");
            print 
    "

    [b]Titolo:[/b] 
    $title
    [b]Prezzo:[/b] 
    $prezzo</p>";
        }
    }

    //chiusura connessione
    mysql_close()

    ?>
    grazie anticipatamente per l'aiuto che mi darete...

  2. #2
    Due errori, piuttosto banali:
    1- La funzione mysql_query richiede come primo parametro la query, come secondo la connessione (nel tuo caso $connect), che tu hai omesso.
    2- La funzione che verifica il numero di righe si chiama mysql_num_rows() e non mysql_numrows().

    Comunque se php non ti segnala errori del genere e va avanti ad eseguire il codice è meglio che tu riveda la configurazione di php.ini

    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    grazie mille...comunque usando altervista per provare non so come configurare il php.ini (credo che non si possa nemmeno fare)...
    ho aggiustato quei 2 errorini che avevo fatto...ma comunque la ricerca non mi produce nessun risultato...coma mai?? e pure nella tabella del database ci sono le varie cose nei vari campi

    ti riposto il codice corretto qui:
    Codice PHP:
    <?php
    //variabili
    $db_server 'localhost';
    $db_name '***';
    $db_user '***';
    $db_pass '***';
    $table 'case';

    //mi connetto al database
    $connect mysql_connect($db_server,$db_user,$db_pass) or die('Non puoi connetterti: ' mysql_error());
    $db mysql_select_db($db_name,$connect) or die ('Impossibile connetterti: ' mysql_error()); 

    //lista case in vendita
    echo '<h3>CASE IN VENDITA</h3>';
    $sqlquery "SELECT * FROM $table";
    $result mysql_query($sqlquery,$connect);
    $number mysql_num_rows($result);

    $i 0;

    if(
    $number 1){
        print 
    "<center>

    La ricerca non ha prodotto nessun risultato</p></center>"
    ;
    }
    else{
        while(
    $number $i){
            
    $title mysql_result($result,$i,"titolo");
            
    $prezzo mysql_result($result,$i,"prezzo");
            print 
    "

    [b]Titolo:[/b] 
    $title
    [b]Prezzo:[/b] 
    $prezzo</p>";
        }
    }

    //chiusura connessione
    mysql_close()

    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    io per stampare delle porzioni di db uso questo codice, è un esempio:
    Codice PHP:
    $query "SELECT user FROM utenti";

    $result mysql_query($query);

    while(
    $row mysql_fetch_array($result))

    {
     

        echo 
    $row['user'];


    tu per adattarlo alla tua pagina devi cambiare solo due cose, la variabile $query quindi che cosa selezionare del database e nel while le colonne, per esempio nel mio caso stampo tutta la colonna user della tabella utenti, nel tuo caso potresti mettere al posto di $row['user'] qualcosa come
    Codice PHP:
    echo $row['ID'] . " " $row['titolo'] . " " $row['descrizione'] . " " $row['prezzo']; 
    poi ovviamente se li vuoi disporre in una tabella o altro lo puoi fare scrivendo bene l'echo del while

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    Originariamente inviato da iacoposk8
    io per stampare delle porzioni di db uso questo codice, è un esempio:
    Codice PHP:
    $query "SELECT user FROM utenti";

    $result mysql_query($query);

    while(
    $row mysql_fetch_array($result))

    {
     

        echo 
    $row['user'];


    tu per adattarlo alla tua pagina devi cambiare solo due cose, la variabile $query quindi che cosa selezionare del database e nel while le colonne, per esempio nel mio caso stampo tutta la colonna user della tabella utenti, nel tuo caso potresti mettere al posto di $row['user'] qualcosa come
    Codice PHP:
    echo $row['ID'] . " " $row['titolo'] . " " $row['descrizione'] . " " $row['prezzo']; 
    poi ovviamente se li vuoi disporre in una tabella o altro lo puoi fare scrivendo bene l'echo del while
    ho provato a fare come dici tu ma non funge ancora mi stampa solo "CASE IN VENDITA"

    ecco qui il codice help me...
    Codice PHP:
    <?php
    //variabili
    $db_server 'localhost';
    $db_name '***';
    $db_user '***';
    $db_pass '***';
    $table 'case';

    //mi connetto al database
    $connect mysql_connect($db_server,$db_user,$db_pass) or die('Non puoi connetterti: ' mysql_error());
    $db mysql_select_db($db_name,$connect) or die ('Impossibile connetterti: ' mysql_error()); 

    //lista case in vendita
    echo '<h3>CASE IN VENDITA</h3>';
    $sqlquery "SELECT * FROM $table";
    $result mysql_query($sqlquery,$connect);
    $number mysql_num_rows($result);

    while(
    $row mysql_fetch_array($result)){
            echo 
    $row['titolo'] . " " $row['prezzo'];    
        }

    //chiusura connessione
    mysql_close()

    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    è molto strano, non da nessun errore php? su nessuna linea?
    non è che son disattivati gli errori dal php.ini?

    altrimenti puoi cercare di capire cosa non va stampando $number per esempio, magari se cambi $table = 'case'; con $table = case; funziona, di solito in questi casi l'errore è nella select

  7. #7
    Ho trovato: la query non andava a buon fine perchè non era stato selezionato il database. Lascia perdere mysql_select_db, toglilo e modifica così la query:
    Codice PHP:
    $sqlquery "SELECT * FROM $db_name.$table"
    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    28
    se cambio
    Codice PHP:
    $table 'case'
    con
    Codice PHP:
    $table = case; 
    mi da un errore di sintassi...quindi non credo sia quello sto impazzendo
    ERRORE:
    Parse error: syntax error, unexpected T_CASE in /membri/lionsart/7case/case.php on line 16

  9. #9
    Ed infatti mi da l'errore
    codice:
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in [percorso] on line 17
    Questo perchè mysql_query, il cui output viene passato a mysql_num_rows, restituisce il booleano false, che segnala il fallimento. Fallisce appunto perchè non è specificato il db.
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  10. #10
    Originariamente inviato da LionsArt
    se cambio
    Codice PHP:
    $table 'case'
    con
    Codice PHP:
    $table = case; 
    mi da un errore di sintassi...quindi non credo sia quello sto impazzendo
    ERRORE:
    Parse error: syntax error, unexpected T_CASE in /membri/lionsart/7case/case.php on line 16
    E che prova è???
    Ovvio che servono gli apici, è una stringa...

    Hai fatto come ti ho detto?
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


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.