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

    [Php - MySql] ricerca con diversi campi

    Ciao a tutti!

    sto cercando di realizzare la seguente modalità di ricerca:

    Ho un db con 3 tabelle e voglio realizzare un sistema di ricerca su una sola tabella che ricerchi dati incrociandoli nei diversi campi.
    il db è così strutturato

    db:
    dati
    tabelle:
    personaggi con 34 campi
    sessioni con 3 campi
    utenti con 10 campi

    A me interessa per la ricerca la sola tabella personaggi.

    Mi spiego meglio.
    Voglio effettuare una modalità di ricerca all'interno della tabella che incroci dati presenti in due o tre campi per un determinato record.
    La modalità di input per l'utente, e quindi anche per caturare i dati tramite POST, voglio che sia tramite form select e input.
    codice:
    <form method="post" action="cerca.php">
    <select name="urlA">
    <option value="" selected> 
    <option value="cognome">Cognome
    <option value="arcocronos">Arco Cronologico
    <option value="attivita">Attività
    </select>
    
    <input type=text maxlength=30 size=15 name="chiaveA">
    
    
    <select name="urlB">
    <option value="" selected> 
    <option value="arcocronos">Arco Cronologico
    <option value="provenienza">Provenienza
    <option value="attivita">Attività
    <option value="residenza">Residenza
    <option value="beni">Beni o Proprietà
    <option value="ordine">Ordine
    </select>
    
    <input type=text maxlength=30 size=15 name="chiaveB">
    
    
    <input type="submit" value="cerca"> 
    </form>
    Ho problemi nella costruzione della query e della gestione degli input da parte dell'utente tramite POST. Come li gestisco? Come faccio a dire di cercarmi quel record in cui sono presenti solo ed esclusivamente i valori immessi nei campi delle select "urlA" e "urlB"?
    Potete darmi qualche suggerimento?

    grazie

  2. #2

    Re: [Php - MySql] ricerca con diversi campi

    nessuna sa darmi qualche suggerimento??

  3. #3
    innanzitutto è corretto per ciò che cerco di fare mettere il name differente degli input type delle due select?
    chiaveA e chiaveB

  4. #4
    secondo voi questo che ho scritto può andare bene?
    non mi restituisce alcun risultato


    Codice PHP:
    //chiave da ricercare divisa da virgole
    $keyA explode (","$_POST['chiaveA']);
    $keyB explode (","$_POST['chiaveB']);

    $urlA=($_POST['urlA'] == 'cognome' || $_POST['urlA'] == 'arcocronos' || $_POST['urlA'] == 'attivita');
    $urlB=($_POST['urlB'] == 'arcocronos' || $_POST['urlB'] == 'provenienza' || $_POST['urlB'] == 'attivita' || $_POST['urlB'] == 'residenza' || $_POST['urlB'] == 'beni' || $_POST['urlB'] == 'ordineR');

    if ((
    $urlA=='') || ($urlB=='')) {
    echo 
    "Devi riempiere tutti i campi";
    } else {

    $query2 "SELECT * FROM persone WHERE '$urlA%' LIKE '%$keyA%' AND '$urlB%' LIKE '%$keyB%'";
    $result2 mysql_query($query2$db)
    or die( 
    "Errore: " mysql_error() );

    //conto il numero di record trovati
    $numrows2 mysql_num_rows($result2);

    //realizzo un ciclo WHILE
    while ($row2 mysql_fetch_array($result2)) {
    //stampo il risultato
    echo "Personaggio: " $row2['nome'] . "" .strtoupper($row2['cognome']). "
    "
    ;
    }



    grasssssie

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.