Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    19

    Domanda Facile su Invio Form con doppio Submit...è possibile?

    Salve a tutti,

    vi chiedo una domanda facile per voi...ma difficile per me!

    devo creare una pagina con un form (stile google) che fa la ricerca in un motore che sta sul nostro server (ho usato SPHIDER).
    Se è possibile vorrei avere come output 2 colonne e non solo una(per esempio come google quando nella parte destra mette gli annunci) , in modo tale da inserire nella colonna sinistra il risultato della ricerca nel Database1 e nella colonna destra il risultato della ricerca nel Database2.

    Se avessi a disposizione 2 database, come faccio ad avere un form che quando clicco sul pulsante "SUBMIT" mi fa la ricerca in 2 db?

    Secondo voi è fattibile oppure non si puo fare tecnicamente?

    Ciao

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Secondo me se nello script fai un collegamento a 2 db invece di uno.

    1° - usi mysql_select_db con il primo db e fai la query
    2° - usi mysql_select_db con il secondo db e fai la query
    3° - fai i cicli per visualizzare i dati
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    19
    Originariamente inviato da badaze
    Secondo me se nello script fai un collegamento a 2 db invece di uno.

    1° - usi mysql_select_db con il primo db e fai la query
    2° - usi mysql_select_db con il secondo db e fai la query
    3° - fai i cicli per visualizzare i dati
    Ciao e grazie della risposta veloce..pero non ho capito molto...

    io ho questo form per fare la ricerca:

    <form method="get" action="http://www.miosito.com/sphider/search/search.php">
    <form method="post" name="form1"action="http://www.miosito.com/sphider/search/search.php">
    <input type="text" name="query" size="50" maxlength="255" value="">
    <input type="submit" name="btnG" value="Search">
    <input type="hidden" name="search" value="1">


    </form>

    come faccio ad integrare nel mio codice il tuo suggerimento?
    Oppure lo devo integrare in un altro modo?

    Ciao

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Il doppio form non dovrebbe funzionare. Devi modificare lo script search.php per usare tutte e 2 db.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    19
    Originariamente inviato da badaze
    Il doppio form non dovrebbe funzionare. Devi modificare lo script search.php per usare tutte e 2 db.
    Infatti non funziona..

    visto che io non so dove mettere le mani...ti posto il codice..penso che per te sia roba di 1 minuto ...o sbaglio?


    ecco il search.php che sto usando:

    <?php
    /*******************************************
    * Sphider Version 1.3.x
    * This program is licensed under the GNU GPL.
    * By Ando Saabas ando(a t)cs.ioc.ee
    ********************************************/
    //error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
    error_reporting(E_ALL);
    $include_dir = "./include";
    include ("$include_dir/commonfuncs.php");
    //extract(getHttpVars());

    if (isset($_GET['query']))
    $query = $_GET['query'];
    if (isset($_GET['search']))
    $search = $_GET['search'];
    if (isset($_GET['domain']))
    $domain = $_GET['domain'];
    if (isset($_GET['type']))
    $type = $_GET['type'];
    if (isset($_GET['catid']))
    $catid = $_GET['catid'];
    if (isset($_GET['category']))
    $category = $_GET['category'];
    if (isset($_GET['results']))
    $results = $_GET['results'];
    if (isset($_GET['start']))
    $start = $_GET['start'];
    if (isset($_GET['adv']))
    $adv = $_GET['adv'];


    $include_dir = "./include";
    $template_dir = "./templates";
    $settings_dir = "./settings";
    $language_dir = "./languages";


    require_once("$settings_dir/database.php");
    require_once("$language_dir/en-language.php");
    require_once("$include_dir/searchfuncs.php");
    require_once("$include_dir/categoryfuncs.php");


    include "$settings_dir/conf.php";

    include "$template_dir/$template/header.html";
    include "$language_dir/$language-language.php";


    if (!isset($type)) {
    $type = "and";
    }

    if (preg_match("/[^a-z0-9-.]+/", $domain)) {
    $domain="";
    }


    if ($results != "") {
    $results_per_page = $results;
    }

    if (get_magic_quotes_gpc()==1) {
    $query = stripslashes($query);
    }

    if (!is_numeric($catid)) {
    $catid = "";
    }

    if (!is_numeric($category)) {
    $category = "";
    }



    if ($catid && is_numeric($catid)) {

    $tpl_['category'] = sql_fetch_all('SELECT category FROM '.$mysql_table_prefix.'categories WHERE category_id='.(int)$_REQUEST['catid']);
    }

    $count_level0 = sql_fetch_all('SELECT count(*) FROM '.$mysql_table_prefix.'categories WHERE parent_num=0');
    $has_categories = 0;

    if ($count_level0) {
    $has_categories = $count_level0[0][0];
    }



    require_once("$template_dir/$template/search_form.html");


    function getmicrotime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
    }



    function poweredby () {
    global $sph_messages;
    ?>

    [img]/italia/images/baikloairank.gif[/img]
    <?php
    }


    function saveToLog ($query, $elapsed, $results) {
    global $mysql_table_prefix;
    if ($results =="") {
    $results = 0;
    }
    $query = "insert into ".$mysql_table_prefix."query_log (query, time, elapsed, results) values ('$query', now(), '$elapsed', '$results')";
    mysql_query($query);

    echo mysql_error();

    }

    switch ($search) {
    case 1:

    if (!isset($results)) {
    $results = "";
    }
    $search_results = get_search_results($query, $start, $category, $type, $results, $domain);
    require("$template_dir/$template/search_results.html");
    break;
    default:
    if ($show_categories) {
    if ($_REQUEST['catid'] && is_numeric($catid)) {
    $cat_info = get_category_info($catid);
    } else {
    $cat_info = get_categories_view();
    }
    require("$template_dir/$template/categories.html");
    }
    break;
    }

    include "$template_dir/$template/footer.html";
    ?>

  6. #6
    al posto del doppio form ..... metti due bottoni di invio.

    quando apri il file action fai verificare quale bottone hai cliccato.
    ...
    anche i bottoni hanno un nome!

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    19
    Originariamente inviato da Jacqui
    al posto del doppio form ..... metti due bottoni di invio.

    quando apri il file action fai verificare quale bottone hai cliccato.
    ...
    anche i bottoni hanno un nome!

    scusami ma purtroppo io sono poco esperto...non ho capito bene...

    visto che ho inserito sia il form che il file search.php potresti fare un esempio
    concreto... cosi sarebbe molto piu facile per me...

  8. #8
    crei 2 bottoni di submit con lo stesso nome ma valore diverso

    <form>
    <input type='submit' name='bottoneInvio' value='valore1'>
    <input type='submit' name='bottoneInvio' value='valore2'>
    </form>

    quando clicchi il form richiama il file che gli hai detto in action.
    appena si apre il file, metti un request.form per bottoneInvio, prelevi il valore .... ed in base a quello esegui il controllo su un db o 2 db o altro ancora...

  9. #9
    poi scusa.... ho riletto meglio, il tuo problema è solo mettere a sx il risultato di un db e a dx il risultato di un altro db?

    se si

    basta che nella pagina del risultato fai 2 colonne a sx metti la ricerca dul db1 e a dx metti la ricerca sul db2.... :berto:

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    19
    Originariamente inviato da Jacqui
    poi scusa.... ho riletto meglio, il tuo problema è solo mettere a sx il risultato di un db e a dx il risultato di un altro db?

    se si

    basta che nella pagina del risultato fai 2 colonne a sx metti la ricerca dul db1 e a dx metti la ricerca sul db2.... :berto:

    ok perfetto.... ma il problema è che non so come si fa a mettere la ricerca sul db2. Ti ho postato il file search.php ...dove lo devo modificare????

    è quello che non so fare...

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.