chaine de caractères dans BDD [PHP] - PHP - Programmation
Marsh Posté le 04-07-2008 à 12:05:12
Il y a combien d'info dans ce champs, le nombre est-il fixe ? Si oui c'est facile, tu utilise la fonction explode en PHP, qui va te construire un tableau. Il te reste ensuite, à récupèrer la valeur des cases 8, 15 et 17 puisque l'indexation du tableau commence à 0.
@++
Marsh Posté le 04-07-2008 à 12:17:18
Tout d'abord merci pour ta réponse aussi rapide !
les cases a récupérer seront toujours les 8, 15 et 17
Pourrais tu brièvements s'il te plait me montrer comment utiliser la fonction explode ?
Car j'ai codé sa mais ...
<?php
mysql_connect("localhost", "root", "" ); // Connexion à MySQL
mysql_select_db("portail" ); // Sélection de la base portail
$reponse = mysql_query("SELECT item_data FROM jos_artforms_inbox" ); // Requête SQL
// Avec cette boucle, on liste uniquement le champ item_data qui contient toutes les infos utilisateurs ( exemple : nom;prenom;date_naissance;mdp etc etc ...) :
while ($donnees = mysql_fetch_array($reponse) )
{
echo $donnees['item_data'];
echo "<br />";
}
$chaine = $donnees['item_data'];
$champs = explode (" ; ", $chaine);
$boucle=0;
while ($boucle < sizeof($champs)) {
echo $chaine[$boucle];
echo "n";
$boucle++;
}
mysql_close(); // Déconnexion de MySQL
?>
Marsh Posté le 04-07-2008 à 12:20:32
Pour récupérer la 8° valeur de $champs , tu passes par $champs[7] (car l'indexation du tableau commence à 0)....
Marsh Posté le 04-07-2008 à 12:21:33
Voici la fonction sur php.net ! http://fr.php.net/explode
Code :
|
Tout simplement, pas besoin de faire une boucle WHILE comme dans ton exemple...
Explode crée un array dont l'index commence à 0.
Marsh Posté le 04-07-2008 à 18:02:55
cvb a écrit : Voici la fonction sur php.net ! http://fr.php.net/explode
|
Non, petite erreur :
Code :
|
Marsh Posté le 04-07-2008 à 20:59:10
ok je me suis trompé sur le dernier indice !
Marsh Posté le 04-07-2008 à 11:59:19
Bonjour,
Voila ce que contient ma table jos_artforms_inbox :
-item_data contient les infos saisies par l'utilisateur dans ces même champs dans l'ordre avec le point virgule ( ; ) comme séparateur.
exemple : nom;prenom;date_naissance;mdp etc etc ....
En fait je voudrais récupérer la 9, 16 et 17eme valeurs contenu dans item_data pour les transférer dans ma table "jos_users".
Je pense que cela doit etre possible en SQL ou PHP mais je n'ai aucunes pistes...
Merci
Message édité par robin101 le 04-07-2008 à 12:03:26