Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Database e form

  1. #1

    Database e form

    Salve,

    allora, ho il mio database, che ormai quasi tutti su questo forum conosceranno, che contiene informazioni su componenti hardware.
    Se l'utente inserisce una stringa all'interno di un text field viene effettuata una query
    Codice PHP:
    "SELECT * FROM $table as o, $table2 as c WHERE o.ID=c.componenti_ID AND (produttore LIKE '%$text%' OR nome LIKE '%$text%' )" 
    che di fatto è una ricerca sul database nei due campi (produttore e nome) e mostrato un "autocomplete". vedete http://tecnomercatino.it/item/new , selezionate come categoria "processori[cpu]" e inserite "f" nel text field che appare. La categoria deve essere quella perchè è l'unica tabella del database popolata xD

    A questo punto il mio obiettivo è una cosa malsana, almeno per le mie conoscenze di php, praticamente voglio fare in modo che dopo che l'utente ha selezionato la categoria e inserito una parola da cercare dalla query effettuata prima vengano mostrati vari campi [che ovviamente cambiano in base alla categoria] i campi dovranno essere stampati sotto al text field dove l'utente ha effettuato la ricerca. (a sistemarli poi a livello di css mi arrangio).

    Aiuti, consigli anche insulti sono accetti

    PS: spero si riesca a capire qualcosa, il punto è che l'immagine mentale è nitidissima ma metterla giù a parole un po' più un casino, più tardi se riesco metto giù uno schizzo a penna magari si capisce meglio

    Grazie in anticipo a chiunque vorrà rispondermi^^

  2. #2
    Vi lascio anche il codice che ho buttato giù fino adesso (con il vostro aiuto).

    Codice PHP:
    function database_js() {
            
        ?>

    <script type="text/javascript" src="<?php echo osc_base_url() . 'oc-content/plugins/databasehd/js/jquery-1.4.2.min.js'?>"></script>
    <script type="text/javascript" src="<?php echo osc_base_url() . 'oc-content/plugins/databasehd/js/databasehd.js'?>"></script>
    <link href="<?php echo osc_base_url() . 'oc-content/plugins/databasehd/css/jquery-ui-1.8.5.custom.css'?>" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
        jQuery(document).ready(function($)
    {
    $('#auto').hide();    
    myobj = {"116":"Monitors_tab","100":"cpu_tab","113":"mouse_tab","114":"mousepad_tab","115":"keyboard_tab","102":"psu_tab","106":"case_tab","103":"dissipatori_tab","105":"exthd_tab","99":"inthd_tab","104":"masterizzatori_tab","107":"ram_tab","108":"aux_tab","109":"mobo_tab","110":"pci_tab","111":"vga_tab","101":"ssd_tab"}; 

    $('#catId').change(function() { 
       var selectVal = myobj[$('#catId :selected').val()];  
        
        $('#auto').autocomplete( 
        { 
            source: "http://tecnomercatino.it/oc-content/plugins/databasehd/codicephp.php?tab="+selectVal, 
            minLength: 1
        
        }); 
        $('#auto').show();    
    }); 
    }); 
    </script> 
            
    <?php ?>
    <?php 
    function ins_database_hd() { ?>
        
        
        <input type="text" id="auto" />
        <?php ?>
    <?php
    // This is needed in order to be able to activate the plugin
    osc_register_plugin(osc_plugin_path(__FILE__), '');
    // This is a hack to show a Uninstall link at plugins table (you could also use some other hook to show a custom option panel)
    osc_add_hook(osc_plugin_path(__FILE__) . '_uninstall''');
    //Header

    osc_add_hook('header''database_js');

    ?>
    La cosa funge così, database_js viene messa nell'header tramite osc_add_hook che è una funzione del CMS.

    La funzione ins_database_hd() la integro io nel punto della pagina dove voglio utilizzarla.

    Questo è il codice a cui punta source:
    Codice PHP:
    <?php 
    $mydb 
    = new mysqli("");
    $text $mydb->real_escape_string($_GET['term']);
    $table="componenti";
    $table2=$_GET["tab"];
    $sqlquery ="SELECT * FROM $table as o, $table2 as c WHERE o.ID=c.componenti_ID AND (produttore LIKE '%$text%' OR nome LIKE '%$text%' )";
    $result $mydb->query($sqlquery);
    $json '[';
    $first=true;
    while(
    $row $result->fetch_assoc())

    {
        if (!
    $first) { $json .=  ','; } else { $first false; }
        if(
    strcasecmp($table2'cpu_tab')==0){
        
    $json .= '{"value":"'.$row['produttore'].' '.$row['nome'].' @ '.$row['clock'].'mhz"}';}
        else { 
    $json .= '{"value":"'.$row['produttore'].' '.$row['nome'].'"}';}
    }
    $json .= ']';
    echo 
    $json;
    ?>
    Ovviamente privato dei dati di accesso al database U.u

    Adesso mi ponevo una domanda, ma se io devo stampare delle cose prese dal database, e precisamente generate dalla query del file source, sotto a questo:
    Codice PHP:
    <input type="text" id="auto" /> 
    Come faccio?
    Se mi azzardo a fargli provare a stampare una cosa come $row['clock']; immagino che se potesse mi prenderebbe a calci

    Ancora grazie^^

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 © 2026 vBulletin Solutions, Inc. All rights reserved.