ottenere una serie di risultati con una query

salve a tutti, ho un problema che non riesco a risolvere riguardante i risultati estratti con la query select

sul db ho una tabella che riporta il campo id, nome, squadra, numero maglia,ruolo

dentro la tabella ci sono una serie di giocatori.

io con la query devo estrarre l'id,il nome e il numero di tutti quei giocatori della squadra X.

facendo un ciclo while

while ($row = mysql_fetch_assoc($result)) {
      $nome      = htmlentities($row['nome']);
      $ruolo      = htmlentities($row['ruolo']);
      $maglia      = htmlentities($row['maglia']);

ottengo i risultati...

il mio problema è che io devo poi andare a modificare il numero di maglia dei vari giocatori. Se lo sostituisco dopo averlo estratto in questo modo, me lo cambia a tutti con lo stesso numero.

Ho provato a fare un doppio ciclo while però non riesco a farlo funzionare. In pratica a ogni giocatore estratto volevo associare una variabile diversa, in modo che poi i numeri possano essere cambiati singolarmente.

Ecco il codice

$estratti=1; $var=1;

while ($estratti<=$num_rec) {
$query3 = "SELECT id,nome,maglia,ruolo,disponibile FROM db WHERE squadra = 'X'";
$result3 = mysql_query($query3);

         if (!$result3) {
               die("Errore nella query $query3: " . mysql_error());
         }

while ($row3 = mysql_fetch_assoc($result3))
{
   $id.$var = htmlspecialchars($row3['id']);
   $nome.$var = htmlspecialchars($row3['nome']);
   $maglia.$var = htmlspecialchars($row3['maglia']);
   $ruolo.$var = htmlspecialchars($row3['ruolo']);
   $disp.$var = htmlspecialchars($row3['disposizione']);
   $var ++;   
}   
   $estratti ++; $var ++;
   

echo " <p class='style1'> 
         g: $id $nome $maglia $ruolo

   </p>";                  

}
inviato 6 anni fa
sinistro
X 0 X

Salve

io non uso mysql_fetch_array...

fai cosi:

$recnum=mysql_num_rows($result3);
if ($result3){
    for ($i=0;$i<$recnum;$i++){
        $id=mysql_result($result3,$i,"id");
        $nome=mysql_result($result3,$i,"nome");
        $maglia=mysql_result($result3,$i,"maglia");
        $ruolo=mysql_result($result3,$i,"ruolo");
        echo "<p class=\"style1\">G: $id $nome $maglia $ruolo</p>";
        }
    }

Ad ogni riga ti escono fuori i dati della tabella

Spero di essere stato d'aiuto

risposto 6 anni fa
guardiolapdf86
X 0 X

ok però se io adesso volessi modificare $maglia del giocatore n.3, come faccio a modificare proprio quella variabile?

risposto 6 anni fa
sinistro
X 0 X

Innanzitutto devi prendere i dati da una form...

Stamperai una <select> (scelta a tendina) tramite php dove farai vedere tutti i numeri...e sceglierai quello da modificare

e stamperai un campo testo dove inserire il dato che vuoi sostituire...

Poi fai la query di sostituzione...alter table ecc...

risposto 6 anni fa
guardiolapdf86
X 0 X

La scelta di mysql_fetch_assoc è ottima e credo che sia migliore che richiamare in continuazione mysql_result come suggerito da guardiolapdf86.

Il ciclo while però ti è utile solamente per stampare tutti i risultati di un SELECT.

Le modifiche ad una tabella le devi tare con un UPDATE, non con ALTER TABLE. Ovviamente, come suggerito da guardiolapdf86, devi avere un form in cui raccogli le informazioni per capire cosa e chi aggiornare.

risposto 6 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda