Salve,
allora, ho il mio database, che contiene informazioni su componenti hardware.
Se l'utente inserisce una stringa all'interno di un text field viene effettuata una query
codice PHP:
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).
Vi lascio anche il codice che ho buttato giù fino adesso.
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:
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:
Come faccio? 
Se mi azzardo a fargli provare a stampare una cosa come $row['clock']; immagino che se potesse mi prenderebbe a calci
Grazie in anticipo a chiunque voglia rispondermi
allora, ho il mio database, che contiene informazioni su componenti hardware.
Se l'utente inserisce una stringa all'interno di un text field viene effettuata una query
codice PHP:
PHP:
"SELECT * FROM $table as o, $table2 as c WHERE o.ID=c.componenti_ID AND (produttore LIKE '%$text%' OR nome LIKE '%$text%' )"
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).
Vi lascio anche il codice che ho buttato giù fino adesso.
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:
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:
PHP:
<input type="text" id="auto" />

Se mi azzardo a fargli provare a stampare una cosa come $row['clock']; immagino che se potesse mi prenderebbe a calci

Grazie in anticipo a chiunque voglia rispondermi
