Passaggio variabili array php su un tasto jq

  • Creatore Discussione Creatore Discussione maubox8
  • Data di inizio Data di inizio

maubox8

Nuovo Utente
20 Nov 2022
5
0
1
Ciao a tutti, vorrei chiedere una cosa se potete aiutarmi.
Conosco un minimo di basi di php e sto provando a studiare Jquery per poterli fare interagire tra loro.
Ho creato un file php che mi riporta correttamente i valori provenienti da mysqli che vengono visualizzati tramite la variabile $datori.
Volevo anche provare a stampare questi valori al click di un tasto tramite Jquery.
Il tasto funzionerebbe solo sulla pagina normale senza fare il click e restituendomi tutti i valori del ciclo while, mentre attivando il tasto mi riporta solo uno di quei valori e non tutti.
Qualcuno può darmi una dritta su dove sbaglio?
Grazie mille
Ecco il codice:

Codice:
<?php

$datore="SELECT * FROM anagraficadatore WHERE web_ute=1";
$datore2 = mysqli_query($conn, $datore);
  while($datore3 = mysqli_fetch_assoc($datore2))
  {
  $datori = "user id: ".$datore3['user_id']."user name: ".$datore3['user_name']."Nome: ".$datore3['nome'];
//STAMPA VALORI PRESENTI
echo $datori;
echo "<br>";
}

?>

<h1>Show a Push Button</h1>

<p>The button below activates a JavaScript when it is clicked.</p>
<form>
  <input type="button" value="Click me" onclick="msg()">
</form>

<script>

function msg() {
 $(document).ready(function(){
  alert('<?php echo $datori; ?>');
});
}
</script>
 
Conosco un minimo di basi di php e sto provando a studiare Jquery per poterli fare interagire tra loro
php é un linguaggio che
- lavora su macchine server,
- aiuta a preparare pagine html dinamiche
- le invia alla macchina client che le ha richieste

jquery o meglio javascript é un linguaggio che
lavora sulla macchina client
agendo sulla pagina html
e interfacciandosi con php attraverso connessioni ajax

devi approfondire questo argomento per la tua conoscenza.

ora consideriamo la variabile $datori
si trova all'interno di un ciclo while,
viene valorizzata con ogni singola riga estratta dal db (perdendo i valori delle righe precedenti)
ed utilizzata per generare la pagina html dinamica che verrà inviata al client al termine dell'esecuzione di php sul server

lo script viene incluso nella pagina inviata al client e che conterrà nella posizione
'<?php echo $datori; ?>'
la stringa di caratteri equivalente all'ultima riga estratta dal db

quindi cliccando sul bottone
non interagisci con php
ma stai dicendo a javascript di visualizzarti la stringa che php ha incluso nella pagina

se poi, volessi visualizzare tutte le righe nell'alert,
dovresti creare una variabile che contenga tutte le righe estratte dal db
 
Ciao Marino..ti ringrazio per la risposta.. sì sì del lato server e lato client lo so..
Ma quello che non mi è chiaro è che la variabile datori l'ho valorizzata con 3 valori in php e mi restituisce tutte le query in php, ovvero 2 records presenti sul db con 3 valori per record, quindi mi chiedevo perché passando quella stessa variabile a jq che contiene tutti i records, non viene inserita in alert con tutti i dati ma solo l'ultimo..
Forse è l'ultimo punto che hai scritto che mi serve..ma quella variabile con tutti i dati non è già sulla variabile datori?
Grazie mille!
 
Forse sono riuscito inserendo il json_encode:
Ho provato a salvare l'array in questo modo:

Codice:
$mio_array[] = "user id: ".$datore3['user_id'] . " user name: ".$datore3['user_name']." Nome: ".$datore3['nome']."\n";

Poi ho inserito nello script questo codice:

Codice:
var variabileJavaScript = <?php echo json_encode($mio_array); ?>;
alert(variabileJavaScript);

Sembra funzionare.. Mi stampa i valori dell'array cliccando sul tasto.
Grazie
 

Discussioni simili