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

Discussione: aiuto query search

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121

    aiuto query search

    sto cercando di capire come far funzionare questa query:
    Vorrei tramite un form di ricerca far ricercare per regione una lista di punti vendita.
    Sotto ho messo il file search.php dove nello stesso (sotto al form)deve uscire il risultato della ricerca....ma nella mia ignoranza non riesco a far eseguira la query dove digitando la regione esca la lista di aziende della regione chiamata
    qualcuno più esperto può aiutarmi? ( così mi compare tutto quello che è inserito sul db senza neanche ricercare niente)

    $query = "CREATE TABLE puntivendita (id INT (5) UNSIGNED not null AUTO_INCREMENT, nome VARCHAR (255) not null , indirizzo VARCHAR (255) not null , citta VARCHAR (55) not null , provincia VARCHAR (25) not null , cap VARCHAR (10) , regione VARCHAR (50) not null , telefono VARCHAR (55) , fax VARCHAR (55) , mail VARCHAR (50) , PRIMARY KEY (id))";

    file search.php
    <?

    include("config.inc.php");

    ?>
    <form method=post action=search.php>
    <input type=text name=chiave><input type=submit value=cerca>

    </form>

    <?
    $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");

    $qs = "SELECT * FROM puntivendita";
    $qr = mysql_query($qs);
    if(mysql_num_rows($qr) == 0) print "Non ci sono punti vendita al momento";
    else{
    while($dati = mysql_fetch_array($qr)){
    print $dati['nome']." - ".$dati['indirizzo']." - ".$dati['citta']." - ".$dati['cap']." - ".$dati['regione']." - ".$dati['telefono']." - ".$dati['fax']." ".$dati['mail']."
    ";

    }
    }

    ?>

    grazie in tutti i casi

  2. #2
    hm mi dispiace ma non capisco che chiedi.

    tutti i tempi vorrai crearsi una tabella? (il tuo query: "CREATE TABLE")? o che?

    che motivo per il questo script?

    Ciao,
    Dennis
    Nuovo Blog di Programmazione! (Lo ha i tutti tipi! PHP e C/C++)
    Per piacere lo supporti!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121
    Ho riportato il file sql che ha popolato il mio db.......per farmi capire meglio....ma credo di averti confuso le idee.
    Il problema è che quando vado tramite browser al file search.php vedo il form per la ricerca e sotto tutti i risultati inseriti sul db....senza bisogno di effettuare ricerche...io invece vorrei
    che si vedesse solo il form e dopo effuttuata la ricerca che compaiano sotto i risultati.....ma soprattutto vorrei far effuttuare ricerche per regioni
    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121
    Nessuno che mi aiuta?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121
    iS tHERE ANYBODY WANT HELP ME?

  6. #6
    ok. penso che si capire adesso.

    hai:
    Codice PHP:
    $qs "SELECT * FROM puntivendita"
    provi:
    Codice PHP:
    $qs "SELECT * FROM puntivendita WHERE FIELD_DI_CERCA LIKE '%".mysql_escape_string($_POST['chiave'])."%'"
    se vogli vedere soli i resulti essati poi si usi:
    Codice PHP:
    $qs "SELECT * FROM puntivendita WHERE FIELD_DI_CERCA='".mysql_escape_string($_POST['chiave'])."'"
    il mio script:
    Codice PHP:
    <?

    include("config.inc.php");

    ?>
    <form method=post action=search.php>

    <input type="hidden" name="cerca" value="true" />
    <input type=text name=chiave><input type=submit value=cerca>

    </form>

    <?
    $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");

    if(
    $_POST['cerca'] == "true"){
    $qs "SELECT * FROM puntivendita LIKE '%".mysql_escape_string($_POST['chiave'])."%'";
    $qr mysql_query($qs);
    if(
    mysql_num_rows($qr) == 0) print "Non ci sono punti vendita al momento";
    else{
    while(
    $dati mysql_fetch_array($qr)){
    print 
    $dati['nome']." - ".$dati['indirizzo']." - ".$dati['citta']." - ".$dati['cap']." - ".$dati['regione']." - ".$dati['telefono']." - ".$dati['fax']." ".$dati['mail']."
    "
    ;

    }
    }
    }

    ?>
    Ciao,
    Dennis
    Nuovo Blog di Programmazione! (Lo ha i tutti tipi! PHP e C/C++)
    Per piacere lo supporti!

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121
    Dennis you are an angel
    Sei veramente di Chicago?

    Ora però mi da questo errore:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\WM\www\progettosplendo\search.php on line 24
    Non ci sono punti vendita al momento

    mia linea 24 è:
    if(mysql_num_rows($qr) == 0) print "Non ci sono punti vendita al momento";

    ho poi modificato in:
    if(($qr) == 0) print "Non ci sono punti vendita al momento";

    ed ora non ho errori ...però non trova i dati inseriti sul db (neanche prima li trovava)... e restituisce solo:
    Non ci sono punti vendita al momento
    WHY????

    Ho un dubbio sulla linea:
    $qs = "SELECT * FROM puntivendita LIKE '%".mysql_escape_string($_POST['chiave'])."%'";

    devo cambiare CHIAVE con NOME O REGIONE o deve rimanere CHIAVE???

    $qs = "SELECT * FROM puntivendita LIKE '%".mysql_escape_string($_POST['nome])."%'";

    grazie per la pazienza

  8. #8
    si io di Chicago

    adesso. il tuo errore è dal tuo query. perche il tuo query ritorna un errore (male sintassi o similie?) la funziona mysql_num_rows() non fa.

    Mi spiego:

    hai:
    $qs = "SELECT * FROM puntivendita LIKE '%".mysql_escape_string($_POST['chiave'])."%'";

    bisogna per avere il WHERE.

    provi:
    Codice PHP:
    $qs "SELECT * FROM puntivendita WHERE nome LIKE '%".mysql_escape_string($_POST['chiave'])."%' OR regione LIKE '%".mysql_escape_string($_POST['chiave'])."%'"
    il questo query troverà tutti i risulti con $_POST['chiave'] in regione o nome

    Dennis

    Nota: non avevo ricordato il questo query nel mio esempio. mi dispiace
    Nuovo Blog di Programmazione! (Lo ha i tutti tipi! PHP e C/C++)
    Per piacere lo supporti!

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121
    Ok now it's ok....now search good
    but now if i call one regione that is not into db....only page white and not result :
    Non ci sono punti vendita al momento

    Roberto
    Perugia


    ok i have insert
    if(mysql_num_rows($qr) == 0)

    and now it' ok

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    121
    Thanks very very much
    Can i ask you
    Only one thing, if I have too many puntivendita on a page as I can
    Add more pages?
    Roberto

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.