Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177

    selezionare database tramite if

    ragazzi in primis mi scuso se la mia domanda e quasi simile alla precedente
    ma davvero ho bisogno di una risposta

    allora il problema e : devo fare una ricerca dinamica con tre campi prezzo regione e categoria
    in categoria e una select con tre campi (barca, postobarca, imbarco) ognuno di essi e un database uno diverso dall'altro ognuno con dei propri campi
    io vorrei che si selezionasse in primis dalla ricerca la categoria e in base alla categoria dovrebbe uscire la tabella corrispondente
    ma non so come richiamare ogni database
    ho provato con un if
    come da esempio

    Codice PHP:
    if ($cat 1)
    {
    $conditions = array();
    foreach(
    $_POST['search'] as $key =>$value){
         if(!
    $value) continue;
         
    // nel caso di select, puoi mettere un option con value nullo
         
    switch($key){
             case 
    'reg':
                  
    $conditions[] = "regione LIKE '%".mysql_real_escape_string($value)."%'";
            break;
             case 
    'przini':
                  
    $conditions[] = "prezzo >= '".mysql_real_escape_string($value)."'";
            break;
            case 
    'przfin':
                  
    $conditions[] = "prezzo <= '".mysql_real_escape_string($value)."'";
            break;
         }
    }
    $sql_conditions implode(' AND '$conditions);
    $query "SELECT *,DATE_FORMAT(data,'%d-%m-%Y') as data1  from postobarca WHERE $sql_conditions"
    ?>
    ...
    ....
    ...
    } /chiusura if /* 
    dove per esempio
    a cat = 1 corrisponde il value =1 del select

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    18

    Re: selezionare database tramite if

    Originariamente inviato da gian21
    ragazzi in primis mi scuso se la mia domanda e quasi simile alla precedente
    ma davvero ho bisogno di una risposta

    allora il problema e : devo fare una ricerca dinamica con tre campi prezzo regione e categoria
    in categoria e una select con tre campi (barca, postobarca, imbarco) ognuno di essi e un database uno diverso dall'altro ognuno con dei propri campi
    io vorrei che si selezionasse in primis dalla ricerca la categoria e in base alla categoria dovrebbe uscire la tabella corrispondente
    ma non so come richiamare ogni database
    ho provato con un if
    come da esempio

    Codice PHP:
    if ($cat 1)
    {
    $conditions = array();
    foreach(
    $_POST['search'] as $key =>$value){
         if(!
    $value) continue;
         
    // nel caso di select, puoi mettere un option con value nullo
         
    switch($key){
             case 
    'reg':
                  
    $conditions[] = "regione LIKE '%".mysql_real_escape_string($value)."%'";
            break;
             case 
    'przini':
                  
    $conditions[] = "prezzo >= '".mysql_real_escape_string($value)."'";
            break;
            case 
    'przfin':
                  
    $conditions[] = "prezzo <= '".mysql_real_escape_string($value)."'";
            break;
         }
    }
    $sql_conditions implode(' AND '$conditions);
    $query "SELECT *,DATE_FORMAT(data,'%d-%m-%Y') as data1  from postobarca WHERE $sql_conditions"
    ?>
    ...
    ....
    ...
    } /chiusura if /* 
    dove per esempio
    a cat = 1 corrisponde il value =1 del select
    Inanzitutto occhio a if ($cat = 1)
    è una inizializzazione, per confrontare devi usare if($cat == 1)
    comunque, ti faccio un piccolo esempio di cosa volevo dire nell'altro thread:

    Barca corrisponde alla tabella barca
    Postobarca corrisponde alla tabella postobarca
    Imbarco corrisponde alla tabella imbarco

    tu vuoi fare le query nella tabella corrispondente, cioè se selezioni Barca dalla select, vuoi fare la ricerca nella tabella barca, giusto?
    bene, hai la select fatta in questo modo

    <select name="cat">
    <option value="barca">Barca</option>
    <option value="postobarca">Postobarca</option>
    <option value="imbarco">Imbarco</option>
    </select>

    ok, submit del form, stai nella pagina della ricerca:

    $cat = $_POST['cat']
    //mi creo le conditions della query con lo switch ecc.

    dopo aver creato le condizioni fai la tua bella query usando come tabella il $cat
    $query = SELECT blabla FROM $cat WHERE $conditions

    questo è un esempio, si può fare in molti modi, fammi sapere se ora hai capito
    "The question of whether Machines
    Can Think... is about as relevant as
    the question of whether Submarines
    Can Swim." Dijkstra

  3. #3

    Re: selezionare database tramite if

    Originariamente inviato da gian21
    ragazzi in primis mi scuso se la mia domanda e quasi simile alla precedente
    ma davvero ho bisogno di una risposta
    Ti consiglio di dare un'occhiata QUI e QUI ma soprattutto QUI

    Ma non ti preoccupare tanto adesso arriva boot
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    io ho provato a fare $cat== 1 ma dopo mi esce una pagina bianca e non capisco il perche logicamente capisco cio che vuoi dirmi ma poi quando lo applico appunto non mi esce nulla

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    mha satifal sei altamente fuori luogo e inapropiato

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626

    Re: Re: selezionare database tramite if

    Originariamente inviato da satifal
    Ti consiglio di dare un'occhiata QUI e QUI ma soprattutto QUI

    Ma non ti preoccupare tanto adesso arriva boot
    BOOTS, con la S


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    boots nessun aiuto per questo problema?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    18
    gian l'idea hai detto che l'hai capita, studia di più il linguaggio e vedrai che riesci a farlo, è davvero semplice
    "The question of whether Machines
    Can Think... is about as relevant as
    the question of whether Submarines
    Can Swim." Dijkstra

  9. #9
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Originariamente inviato da Ulbrec

    <select name="cat">
    <option value="barca">Barca</option>
    <option value="postobarca">Postobarca</option>
    <option value="imbarco">Imbarco</option>
    </select>

    ok, submit del form, stai nella pagina della ricerca:

    $cat = $_POST['cat']
    //mi creo le conditions della query con lo switch ecc.

    dopo aver creato le condizioni fai la tua bella query usando come tabella il $cat
    $query = SELECT blabla FROM $cat WHERE $conditions

    questo è un esempio, si può fare in molti modi, fammi sapere se ora hai capito
    Non saprei cosa aggiungere

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    177
    ho fatto con questo swich ma l unica cosa che mi restituisce e una pagina bianca quando vado a fare la scelta della categoria col select

    Codice PHP:
    switch ($_POST['cat']){
        case "barca":$nome_tabella="barca";
        break;
        case "postobarca":$nome_tabella="postobarca";
        break;
        case "imbarco":$nome_tabella="imbarcocerco";
        break;

    $conditions = array();
    foreach($_POST['search'] as $key =>$value){
         if(!$value) continue;
         // nel caso di select, puoi mettere un option con value nullo
         switch($key){
             case 'reg':
                  $conditions[] = "regione LIKE '%".mysql_real_escape_string($value)."%'";
            break;
             case 'przini':
                  $conditions[] = "prezzo >= '".mysql_real_escape_string($value)."'";
            break;
            case 'przfin':
                  $conditions[] = "prezzo <= '".mysql_real_escape_string($value)."'";
            break;
         }
    }
    $sql_conditions = implode(' AND ', $conditions);
    $query = "SELECT *,DATE_FORMAT(data,'%d-%m-%Y') as data1  from $nome_tabella WHERE $sql_conditions"; 

    ?>
     <div style="position:absolute; left:30%; top:60%;">
     <?
     $risultato 
    mysql_query($query)
    or die(
    "Errore!! Nessun Campo selezionato per la ricerca  " /*. mysql_error()*/); 
    ?>

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.