Supposons que j'ai un tableau JavaScript "Nom d'utilisateur". Je veux le charger à partir d'une table de base de données nommée "User". P>
Quelqu'un peut-il aider avec une idée ou un exemple de code? P>
merci p>
4 Réponses :
Ceci crée une variable globale code> utilisateur code> dans votre page.
<?php
$user = /* get information from database the way you usually do */;
// $user == array('id' => 1, 'name' => 'foo', ...);
?>
<script type="text/javascript" charset="utf-8">
var user = <?php echo json_encode($user); ?>;
</script>
En fait, je ne veux pas que le code PHP JavaScript puisse faire cela ... J'ai un script JavaScript et PHP séparé et de JavaScript, je veux appeler le script PHP pour obtenir des données de base de données ....
@Rony Dans ce cas, vous devrez vous branler sur Ajax, que vous pouvez utiliser pour charger certaines informations du serveur. Si la variable code> utilisateur code> ne change pas cependant, cette méthode est meilleure et enregistre un aller-retour supplémentaire sur le serveur.
Le meilleur moyen de le faire est simplement d'obtenir vos données dans votre code PHP, puis de "écrire" le code JavaScript pour générer le tableau dans PHP.
Un court exemple serait: P>
echo "a = new Array();";
foreach($row in $results)
{
echo "a[$row[0]] = $row[1];";
}
En fait, je ne veux pas que le code PHP JavaScript puisse faire cela ... J'ai un script JavaScript et PHP séparé et de JavaScript, je veux appeler le script PHP pour obtenir des données de base de données ....
Vous pouvez ensuite faire une demande Ajax à une pièce de code PHP, qui vous donnerait les données de JSON, XML ou tout ce que vous aimez.
Vous devrez utiliser le Pour remplir votre tableau avec les noms d'utilisateur, vous feriez quelque chose comme ça. P> mysql_connect () code>, mysql_select_db () code> fonctionne en php pour vous connecter à votre dB. Après cette utilisation mysql_query () code> Pour sélectionner les champs de votre table utilisateur (si votre table utilisateur dispose des champs Nom et ID, Sélectionnez le nom, ID de l'utilisateur code>). Ensuite, vous pouvez extraire toutes les infos de la DB avec mysql_fetch_assoc () code> ou toute autre fonction de récupération MySQL. Maintenant, vous devez ECHO code> vos données dans le JavaScript sur votre site Web, formaté comme une matrice. Ceci est compliqué à obtenir correctement, mais vous pouvez obtenir de l'aide de json_encode code>. <html>
<head>
<script type="text/javascript">
var userName = <?php
// Connect to MySQL
//mysql_connect();
//mysql_select_db();
$d = mysql_query( "SELECT name, id FROM user" ) or die( mysql_error() );
$usernames = array();
while( $r = mysql_fetch_assoc($d) ) {
$usernames[] = $r['name'];
}
echo json_encode( $usernames );
?>;
// Do something with the userName array here
</script>
</head>
Utilisez AJAX et PHP comme intermédiaire:
Définissez un tableau JS vide: P>
Utilisez AJAX pour appeler votre script PHP, JavaScript évaluera la sortie par PHP (Remarque Ceci utilise la bibliothèque de prototypes): P>
Écrivez votre code PHP pour saisir les données et imprimer un code JS (il doit être valide JavScript!): P>
Vous pouvez vérifier que votre tableau JS contient des données: P>
var myarray = nouveau tableau (); code> p>
li>
alert(myarray.length);
$i=0; $q=mysql_query('select ..');
while($row=mysql_fetch_array($q)){
echo "myarray[".$i."]='".$row['data']."';";
$i++;
}
new Ajax.Request('myfile.php', {
onSuccess : function(xmlHTTP) {
eval(mlHTTP.responseText);
}
});
Voulez-vous dire que le contenu de votre tableau est stocké dans la base de données ou vous souhaitez obtenir le code pour créer le tableau dans la base de données?
Habituellement, JavaScript ne peut pas parler directement à une base de données, vous aurez besoin de quelque chose entre les deux. Comment parlez-vous à la base de données?
@Guillaume: Je veux obtenir du code pour créer une matrice à partir de la base de données @Deceze: J'utilise php ..