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

    PHP+MYSQL problema con creazione motore di ricerca interno

    Ciao a tutti, ho da poco cominciato a "smanettare" con PHP e sono alle prese con la creazione di un motore di ricerca interno che prenda i dati dal database.
    La prima cosa che ho fatto è stata quella di connettere il database e fin qui tutto ok, riesco tranquillamente ad interrogare il database e stampare i dati, seppur non formattati in modo carino...
    ora sto cercando di fare una cosa più complessa: creare una sorta di scheda prodotto che interagisca con il database. Mi spiego meglio vorrei creare un campo dove inserire il codice del prodotto, che è la chiave univoca del database. Una volta inserito il codice nel form di ricerca vorrei che in automatico si completino le altre voci della scheda.
    Ovviamente la scheda prodotto la sto creando su un file html, che richiama il file php... il problema che ho è che leggendo sui vari manuali e forum non riesco a trovare lo script adatto per questa mia specifica esigenza ... Voi cosa mi consigliate?

    Sono ancorata sul form di ricerca, che non mi stampa alcun risultato
    http://prova1313.altervista.org/form.html
    il database ha una tabella prova chiamata prodotti con i seguenti campi codice; nome; categoria

    Vi ringrazio anticipatamente

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il fatto è che stai sbagliando approccio, gli script già pronti si cercano se già conosci il linguaggio e vuoi qualcosa di già fatto per una funzione più o meno complessa che sapresti realizzare da solo (quindi sai già a spanne cosa farà lo script e come andrà integrato nel tuo progetto) ma vuoi risparmiare tempo (e lo risparmi perché già sai più o meno dove mettere mano per farlo funzionare dove ti serve), oppure se non te ne importa di imparare il linguaggio e vai a tentativi sperando che le cose funzionino.

    Per quello che vuoi fare hai 2 scelte:
    1) ricaricare la pagina all'invio del codice:
    il form avrà come action la pagina stessa di cui fa parte, all'apertura della pagina però ci sarà del codice php che verificherà se è la prima volta che si arriva sulla pagina e quindi dovrà mostrare il form vuoto (la variabile $_POST non è settata o è vuota) oppure se la richiesta è stata inviata ($_POST esistente), nel qual caso prima eseguirà una query sul db recuperando i dati che ti servono poi compilerà i campi del form coi dati recuperati.
    Per esempio se hai un campo input per il nome
    <input type='text' name='nome' value='<?php echo isset($row['nome']) ? $row['nome'] : '' ?>' />
    e così per gli altri campi.

    2) senza ricaricare la pagina:
    L'action del form lo puoi lasciare vuoto, non servirà, il pulsante non deve essere un submit, deve essere un semplice button alla cui pressione viene chiamata una funzione Javascript la quale si preoccuperà di recuperare il codice indicato nel form e di inviarlo tramite una chiamata AJAX allo script php tramite metodo post o get, non fa molta differenza.
    Lo script php riceverà il dato come se arrivasse effettivamente da un form, quindi tramite $_POST o $_GET, secondo come l'hai inviato, eseguirà la query sul db, e dovrà restituire il risultato alla chiamata AJAX.
    Per restituire i dati ti conviene formattarli come un array JSON, per farlo crei un array dal risultato della query, ti consiglio un array associativo in cui le chiavi sono i nomi dei campi, così sarà più semplice recuperare i dati giusti, e lo passi alla funzione json_encode() di php, in questo modo Javascript potrà gestirli più facilmente. Una volta creato l'array JSON, che è una semplice stringa, ne fai l'echo e metti un exit; subito dopo, così lo script php si ferma.
    Adesso Javascript avrà a disposizione l'array JSON e dovrà andare ad inserire nel "value" di ogni campo il valore recuperato da PHP

    Se decidi di prendere la seconda strada, in caso ti servano informazioni su AJAX, quindi come inviare una chiamata, recuperare i dati, oppure su come inserire i dati nell'attributo value di un campo di input tramite Javascrippt, chiedi nella sezione Javascript.

  3. #3
    Provo, ti ringrazio tantissimo per i consigli!!!

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.