Selezione record da elenco

Ciao a tutti,

Avrei la necessità di poter selezionare o contrassegnare (tramite flag) un record da un elenco emesso da funzione query come la seguente:

<?php
.....
$query = mysql_query("SELECT `Conc`,`User`,`Prot` FROM `lavorazioniici` WHERE 1 LIMIT 0, 30")or die("errore query");

echo " 
<html> 
<body> 
<TABLE border=\"1\" width=\"100%\"> 
<tr> 
<td width=\"115%\" colspan=\"9\"> 
<p align=\"center\"><b>Lavorazioni Ici</b></td> 
</tr> 
"; 

while ($valori = mysql_fetch_array ($query)){ 
$a1 = $valori ["Conc"]; 
$a2 = $valori ["User"]; 
$a3 = $valori ["Prot"]; 

echo " 
<tr> 
<td width=20>$a1</td>
<td width=30>$a2></td> 
<td width=60>$a3></td> 
</tr> 
"; 
} 
echo "</table>"; 
mysql_close ($conn); 
....
?>

...per poi poterlo riutilizzare per effettuare altre operazioni. C'è speranza? Grazie in anticipo.

inviato 11 anni fa
botola59
X 0 X

Se ho capito bene vuoi trovare un modo per selezionare uno  o più risultati di una query. Ma lo scopo è memorizzare nel DB questa selezione?

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

In un certo senso si.

L'obbiettivo è quello classico di individuare e selezionare un record specifico su un elenco di 30 visualizzati sullo schermo.

Una volta "agganciato" con un flag (o cliccandoci sopra) si dovrebbe poter aprire una seconda schermata con i dati relativi esclusivamente a questo record.

L'esempio perfettamente calzante può essere quello che abbiamo sotto i nostri occhi: La gestione del FORUM!

Cosa facciamo noi utenti; partendo, per esempio dall'elenco "DATABASE", abbiamo la possibilità di cliccare sul record "REGOLAMENTO" oppure "SELEZIONE RECORD DA ELENCO" ecc.

Chiaramente non così complesso, ma più o meno è per rendere l'idea approssimativa dell'intento da raggiungere.

Vedo, ad esempio, nel caso, appunto del FORUM, che spostandosi con il puntatore del mouse da un record all'altro nel caso del "DATABASE" si evidenzia ....php?board=77.0 (per il record "REGOLAMENTO") oppure php?board=313.0 (per il record "SELEZIONE RECORD DA ELENCO")

Forse chiedo troppo eh?! Però almeno uno spunto per poter procedere negli studi. Ciao e grazie - Mauro

risposto 11 anni fa
botola59
X 0 X

Partiamo dal presupposto che nel database sono memorizzati diversi record in una tabella. Ognuno di questi contiene diverse informazioni ma ce n'è una che distingue i record tra loro: la chiave primaria. Un tipico esempio di chiave primaria è un identificativo numerico (ID): nel caso dei forum, il forum PHP ha id = 1, il forum database ha id = 2

Quando mostri l'elenco dei vari record devi costruire per ciascuno di essi un link che punti ad uno script php. Come avrai intuito questi link punteranno tutti alla stessa pagina ma nell'URL accoderai un parametro che conterrà l'id del record in questione. Sarà proprio questo parametro a far capire allo script che è stato selezionato un particolare record.

Per costruire i link basta giocare con l'istruzione echo messa all'interno del ciclo che mostra i vari record. Invece per recuperare l'id passato via URL si usa l'array $_GET. Maggiori informazioni su questo array le trovi qui:

http://www.phpnews.it/content/view/253/107/

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Grande!!! - Mi metto subito al lavoro - Grazie mille e...quasi sicuramente mi rifarò vivo!  :)

risposto 11 anni fa
botola59
X 0 X

Ok! Sono riuscito ad inserire in un ciclo di array $_GET la lettura di un file.

Non riesco, però, a far aprire un nuovo form di dettaglio di quel record cliccato per vedere o modificarne i dati. Il mio costrutto del file con nome "a_01.php" è questo:

.....connessione ecc.

<?

while ($row = mysql_fetch_array ($result)) {

   $ID = $row["ID"];

   $username = $row["username"];

   $password = $row["password"];

   $tipo = $row["tipo"];

   $richiedente = $row["richiedente"];

   if(!$_GET)

   {

                    echo "<img src=\".\images\details.gif\"> <a href=\"a_01.php?                id_notizia=".$ID."\">Rec ".$username."</a><br>";

   }

   else

   {

                    $id_notizia = $_GET['$ID'];

                    echo $notizie[$id_notizia] . '<br><br>';

   }

}

?>

La guida indica come "estrarre dall'array $notizie il testo richiesto". Ma non sono riuscito a capire in quale punto del costrutto e come poter inserire il lancio dell'apertura di un nuovo form php.

Purtroppo vengo da una scuola di linguaggi tipo visual basic dove si può seguire linea per linea l'avanzamento cronologico dell'esecuzione di un programma. In PHP faccio ancora fatica a capirne il metodo esecutivo. Grazie

 

risposto 11 anni fa
botola59
modificato 11 anni fa
X 0 X

ma il codice che hai riportato è quello della pagina che crea l'elenco o quello del form con i dettagli?  ???

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda