PDA

Visualizza versione completa : [WEB] problema php per interrogare db aiutoo


bietolino
01-06-2006, 19.08.13
Ciao a tutti come al solito mi serve il vostro aiuto, sto realizzando delle pagine in php con dreamweaver per interrogare il mio db mysql. Ho relizzato una pagina in cui c'è un modulo dove l'utente inserisce ciò che ricerca, una pagina risultati collegata alla prima in cui ho costituito un recordset per effettuare la query sul db. Nella pagina risultati ho inserito un collegamento nella tabella dinamica che contiene i rusultati verso una pagina di dettaglio contenente ulteriori informazioni relative al record. Nella pagina di dettaglio ho inserito 3 tabelle dinamiche collegate a 3 recorset che effettuano 3 query di selezione sulla base di un parametro trasmetto dalla pagina risultati verso questa attraverso il collegamento.

Ho i seguenti problemi:
1.nella pagina dettaglio quando la vado aprire nel mio server locale, il server apache va in crash come mai? ho sbagliato qualcosa secondo voi? è possibile creare 3 recordset collegati a 3 tabelle dinamiche giusto?
2. nel recorset ho necessita di inserire delle variabili. nella finestra di definizione della variabile quale parametro devo inserire come default (cella acacnto a nome variaible)
3 come si fa ad avere tutti i record del database se un utente nel modulo di ricerca non inserisce nulla? adesso se nella pagina di ricerca io lascio i campi vuoti ottengo come risultato una tabella vuota io invece vorrei ottenere tutti i record presenti nel database.
grazie mille spero di essermi spiegato bene
Ciao a tutti

Sergio Neddi
01-06-2006, 21.55.58
Non ti so aiutare ma comunque ti segnalo che devi modificare il titolo del thread come da regolamento:

http://www.wintricks.it/forum/showthread.php?s=&threadid=90815

bietolino
02-06-2006, 17.26.37
va bene ora?

Orlando
19-07-2006, 17.46.30
- Non è che abbia capito molto del funzionamento dell'applicazione. Prova a rispiegarla ma a grandi linee senza entrare nel dettaglio implementativo.
- Posso provare a risponderti per quanto rigurada la domanda 3.
- Penso che il modulo di ricerca invii le richieste tramite il metodo "post" (o "get")!
Il parametro 'action' del 'Form' conterrà l'indirizzo di uno script php, per esempio "SmistaDati.php".
L'attributo 'value' del controllo <input type="text" name="scelta" value="..."> conterrà una stringa che può essere anche la stessa query che ti estrae tutti i campi della tabella tipo "SELECT * FROM nometabella", ma è consigliabile inserirci una parola chiave per esempio value="tutto".
Quando l'utente clicca sul pulsante di invio del modulo senza avere inserito niente viene richiamato lo script "SmistaDati.php" e li viene passato l'array associativo $_POST con $_POST['scelta'] che contiene "tutto". A questo punto è sufficiente implemetare un "if" (o uno "switch") che permetta di costruire la query desiderata
if($_POST['scelta']=="tutto")
$query="SELECT * FROM nometabella";
Questa query è poi utilizzabile con il comando
mysql_query($query, $connessione);
- Se l'utente inserisce qualsiasi altro testo nel modulo può essere intercettato con un semplice 'else'.
ESEMPIO:
File del modulo .html
<form action="SmistaDati.php" method="post">
Inserisci i dati (lasciando il campo vuoto vedrai tutti i dati)
<input type="text" name="scelta" value="tutto">
<input type="submit" value="invia">
</form>
File di ricezione "SmistaDati.php"
$invio = $_POST['scelta'];
//L'utente non ha inserito dati
if($invio == "tutto")
$query="SELECT * FROM nometabella";
else
//Per assurdo si pensa che se l'utente inserisce qualcosa sarà la query da inviare al dbms.
$query=$invio;
... = mysql_conect(...);
... mysql_select_db(...);
$risposta = mysql_query($query, ...);
- Spero di esserti stato di aiuto!