Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    da form cerco risultati mysql

    ciao a tutti,
    ho creato un semplice form per la ricerca di alcuni dati nel mio db mysql....
    Non riesco ad avere alcun risultato dal form, mentre se inserisco una voce al posto della variabile ho i risultati giusti.
    MA DOVE SBAGLIO
    per verificare che la variabile passi ho inserito anche una stampa della variabile stessa nella pagina e questa viene regolarmente stampata.
    posto il codice

    Codice PHP:
    <body>
    <?php
    // definizione delle variabili per connettersi al db
    $host="localhost:8889"// Host name
    $username="root"// Mysql username
    $password="root"// Mysql password
    $db_nome="Sql00000"// Database name
    $tbl_nome="mytable"// Table name


    // dichiarazione variabili che riceve inviate attraverso il form


    //$cognome=$_POST['cognome'];
    //$eta=$_POST['eta'];
    //$tel=$_POST['tel'];
    //$cell=$_POST['cell'];
    //$note=$_POST['note'];

    ?>
    <?
    //apro la connessione
    $db_con=@mysql_connect('localhost:8889','root','root');

    // scelgo il db da utilizzare e ne verifico la regolare apertura

    if (!@mysql_select_db ('Sql00000')){
        exit (
    'connessione non possibile ci sono degli errori nel collegamento ad db');
    }
    ?>



    questi sono i dati estrapolati dal db</p> 


    <blockquote>
    <? $nome $_POST['nome'];
    echo 
    $_POST['nome'];
    //controllo i risultati di alcuni dati
    $result = @mysql_query ('SELECT mytable.*, categorie.nome_categoria,  regioni.nome_regione,  province.nome_provincia, province.pr,  comuni.nome_comune,   village.nome_village FROM mytable   INNER JOIN categorie ON mytable.id_categorie = categorie.id_categorie  INNER JOIN village ON mytable.id_village = village.id_village  INNER JOIN regioni ON mytable.id_regioni = regioni.id_regioni  INNER JOIN province ON mytable.id_province = province.id_province  INNER JOIN comuni ON mytable.id_comuni = comuni.id_comuni WHERE mytable.nome LIKE "%$nome%"');
    //se ci sono degli errori
    if (!$result){
        exit (
    '

    errore query:' 
    .mysql_error() .'</p>');
    }
    if (
    $result == 0) { 
       echo 
    "Nessun risultato"
    } else { 
    while (
    $row mysql_fetch_array($result)) {
        echo 
    '

    $row['nome'] .'' $row['pr'] .'</p>';
    }
    }
    ?>
    </blockquote>
    </body>
    </html>
    So che è banale ma ci sto sbattendo la testa.
    Grazie a tutti

  2. #2
    prova ad invertire l'uso dei doppi/singoli apici usati nella query e poi metti sempre il tag php vero cioe': <?php e non lo short <?

    Codice PHP:
    //controllo i risultati di alcuni dati
    $result = @mysql_query ("SELECT mytable.*, categorie.nome_categoria,  
    regioni.nome_regione,  province.nome_provincia, 
    province.pr, comuni.nome_comune, village.nome_village 
    FROM mytable   
    INNER JOIN categorie ON mytable.id_categorie = categorie.id_categorie  
    INNER JOIN village ON mytable.id_village = village.id_village  
    INNER JOIN regioni ON mytable.id_regioni = regioni.id_regioni  
    INNER JOIN province ON mytable.id_province = province.id_province  
    INNER JOIN comuni ON mytable.id_comuni = comuni.id_comuni 
    WHERE mytable.nome LIKE '%
    $nome%' "); 

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

  3. #3
    Hai ragione apportando quelle modifiche che hai indicato funziona.
    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.