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

    Maschera di ricerca php sql

    allora eccoci ci siamo, sto creando una piccola rubrica in php il db è scritto con sql e lo gestisco tramite phpmyadmin,
    1 - Ho creato la maschera di inserimento con tutti i controlli che mi occorrevano funziona bene il db viene popolato per ora tutto ok

    2 sto creando la maschera per effettuare le ricerche e qui nasce il problema!!!! io vorrei creare una maschera dove ci sono 3 campi Nome Cognome Tel e in base a uno dei campi che si riempie si fa' la ricerca nel db e come risultato darebbe la scheda del dipendente completa

    vi allego di seguito la struttura del db:

    Server: localhost Database: dipendent i Tabella: anagrafico
    anagrafico
    Campo Tipo Nul l Predefinito Commenti MIME
    Id int (10) No
    Qualifica varchar(10) Sì NULL
    Cognome text Sì NULL
    Nome text Sì NULL
    Età varchar(4) Sì NULL
    Interno varchar(5) Sì NULL
    Cell varchar(15) Sì NULL
    note longtext Sì NULL
    Indici:
    Nome chiave Tipo Cardinal ità Campo
    PRIMARY PRIMARY 0 Id

    questo è il codice della maschera di ricerca che ho immaginato :

    <body bgcolor="#FFFFCC">
    <form name="form1" method="post" action="http://dipendenti/ricerca1.php">
    <div align="center">
    <table width="51%" border="2">
    <tr>
    <td width="52%">Nome</td>
    <td width="48%"><input name="nome" type="text" id="nome"></td>
    </tr>
    <tr>
    <td>Cognome</td>
    <td><input name="cognome" type="text" id="cognome"></td>
    </tr>
    <tr>
    <td>Eta'</td>
    <td><input name="eta" type="text" id="eta"></td>
    </tr>
    <tr>
    <td>Numero tel interno</td>
    <td><input name="tel" type="text" id="tel"></td>
    </tr>
    <tr>
    <td>Cell</td>
    <td><input name="cell" type="text" id="cell"></td>
    </tr>
    <tr>
    <td colspan="2"><div align="center">
    <input type="submit" name="Submit" value="Ricerca">
    </div></td>
    </tr>
    </table>


    </p></div>
    </form>

    <div align="center"></div>


    questo è il codice del file ricerca1.php che viene richiamato nel metodo post e che mi da' errore javascript:void(0); :

    <?php
    // definizione delle variabili per connettersi al db
    $host="localhost"; // Host name
    $username="root"; // Mysql username
    $password=""; // Mysql password
    $db_nome="dipendenti"; // Database name
    $tbl_nome="anagrafico"; // Table name


    // dichiarazione variabili che riceve inviate attraverso il form
    $qualifica=$_POST['qualifica'];
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $eta=$_POST['eta'];
    $tel=$_POST['tel'];
    $cell=$_POST['cell'];
    $note=$_POST['note'];

    ?>
    <?
    // Procedimento per connettersi al Database
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_nome")or die("cannot select DB");

    // queri sql ricerca
    $sql = 'SELECT * FROM `anagrafico` WHERE nome = $nome';
    //$sql = 'SELECT * FROM anagrafico WHERE nome LIKE ‘$nome’';

    $result = mysql_query($sql);

    while($rows=mysql_fetch_array($result)){

    ?>
    <table width="75%" border="2">
    <tr>
    <td></td>
    <td><? echo $rows['qualifica']; ?></td>
    </tr>
    <tr>
    <td></td>
    <td><? echo $rows['nome']; ?></td>
    </tr>
    <tr>
    <td></td>
    <td><? echo $rows['cognome']; ?></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>
    </table>

    <?
    }
    // chiudo la connessione a MySQL
    mysql_close();
    ?>

    vi chiedo cortesemente aiuto grazzie mille anticipatamente
    help

  2. #2
    L'unica riga che potrebbe servirti per effettuare una ricerca la tieni commentata.
    Codice PHP:
    //$sql = "SELECT * FROM anagrafico WHERE nome LIKE '$nome' "; 
    Questa è la prima cosa che mi viene in mente di dire.

    La seconda sarebbe chiederti quale sia il tuo problema, visto che non c'è una domanda specifica nel tuo post, e visto che quella sottointesa non mi sembra edificante (qualcuno che più o meno direttamente scrive codice per conto tuo).

    Ti passo allora un link, preso dalle guide di questo sito peraltro, in cui si spiega come effettuare un semplice motore di ricerca per le proprie applicazioni.
    LINK.
    Leggi bene l'articolo (magari anche quelli precedenti e successivi, male non fa), butta giu del codice, e poi magari torna a postare nel caso di problemi.
    Cerca di capire anche l'utilizzo del carattere %, per come utilizzarlo nelle query con il LIKE, senza che si ritorca contro il povero sviluppatore!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Scusate effettivamente non ho inserito la domanda o il problema ecco :


    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\dipendenti\ricerca1.php on line 31

    questo errore mi viene ogni volta che lancio una ricerca sapete aiutarmi

    scusate grazie mille

  4. #4
    Questo errore è restituito perché probabilmente, non ci sono risultati dalla query, e te imponi comunque allo script di creare un array con i risultati che non esistono.

    Secondo me l'errore sta nel fatto che usi il LIKE nella query, ma non un carattere jolly come il %.
    Ti avevo passato un link nel mio precedente post dove si spiegava come creare un rudimentale motore di ricerca, lo hai controllato??

    Ad ogni modo, per evitare messaggi di errore, ti consiglio di contare quanti record vengono restituiti dalla query, prima di lanciare un eventuale fetching.
    Ti faccio un esempio pratico.
    Codice PHP:
    $sql "SELECT * FROM nome_tabella";
    $query mysql_query($query) OR DIE("Errore");
    $num mysql_num_rows($query);

    if (
    $num == 0) {
       echo 
    "Nessun risultato";
    } else {
       while (
    $fetch mysql_fetch_array$query)) {
        
          
    // eccetera eccetera
       
       
    }

    Spero di essere stato chiaro.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Grazie... ora apporto le modifiche e ti faccio sapere !!

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.