liste dans un bdd

liste dans un bdd - PHP - Programmation

Marsh Posté le 01-06-2004 à 16:38:17    

voila dans un de mes champs de ma table j'ai :
15-5526-56-56456-56045-040156-150463-415043-1504-4156054-105406-4056
 
je voudrais les sortir un à un en leurs attribuant a chaque fois un nom de variable :
genre  
var[1]=15;
var[2]=5526;
....
var[i]=4056
 
comment puis je faire !?  et savoir jusqu'a combien va i
 
la table est par exemple :
 
id_m int(3) NOT NULL,
list text NOT NULL, // la ou il y a les var !
commentaire varchar(200) NOT NULL,

Reply

Marsh Posté le 01-06-2004 à 16:38:17   

Reply

Marsh Posté le 01-06-2004 à 16:39:40    

100top a écrit :

voila dans un de mes champs de ma table j'ai :
15-5526-56-56456-56045-040156-150463-415043-1504-4156054-105406-4056
 
je voudrais les sortir un à un en leurs attribuant a chaque fois un nom de variable :
genre  
var[1]=15;
var[2]=5526;
....
var[i]=4056
 
comment puis je faire !?  et savoir jusqu'a combien va i
 
la table est par exemple :
 
id_m int(3) NOT NULL,
list text NOT NULL, // la ou il y a les var !
commentaire varchar(200) NOT NULL,


 
explode, puis boucle.

Reply

Marsh Posté le 01-06-2004 à 16:42:38    

pour explode je vois ---> ca me permet de virer les tiret mais comment compter le nombre de variable et comment lui attribuer  
var[i] ????
avec foreach ????

Reply

Marsh Posté le 01-06-2004 à 16:44:42    

100top a écrit :

pour explode je vois ---> ca me permet de virer les tiret mais comment compter le nombre de variable et comment lui attribuer  
var[i] ????
avec foreach ????


 
non, tu comptes le nombre d'occurences dans le tableau créé par explode.
 
Et puis --> la doc PHP, c'est fait pour ça. :o
 
http://de2.php.net/get/php_manual_fr.chm/from/a/mirror
 
Tu cherches : "tableaux" dedant.

Reply

Marsh Posté le 01-06-2004 à 16:54:36    

Je vois, je vois pour l'explode mais comment tu comptes les occurences ?

Reply

Marsh Posté le 01-06-2004 à 16:57:36    

count
 
La doc te l'aurait appris. Télécharge la doc que je t'ai indiqué.

Reply

Marsh Posté le 01-06-2004 à 16:59:40    

c fait !

Reply

Marsh Posté le 01-06-2004 à 17:00:51    

Tu verras, cette doc est très bien faite.
 
On peut presque trouver une solution à tous les problèmes avec elle.

Reply

Marsh Posté le 01-06-2004 à 17:18:57    

je comprend tres bien les explications avec explode, un peu moins avec count, le truc c'est qu'jy arrive po !!!
 
j'y arrive quand j'ai un nombre limité  
 
<?php
 
  $data = "15-5526-56-56456-56045-040156-150463-415043-1504-4156054-105406-4056 ";
  list($var[1],$var[2],$var[3]etc....) = explode("-",$data);
?>  
mais le pb c'est pour savoir combien j'ai de tiret ??? pour le faire n fois ?  
count je vois pas comment ca marche !
Encore merci pour l'aide ...

Reply

Marsh Posté le 01-06-2004 à 17:24:01    

$tonTableau = explode("-",$data);
tout simplement ;)
ensuite
$tonTableau[1] contient 15,
$tonTableau[2] contient 5526,
...
 
edit: count($tonTableau) te donnera le nombre d'éléments.


Message édité par dropsy le 01-06-2004 à 17:24:43
Reply

Marsh Posté le 01-06-2004 à 17:24:01   

Reply

Marsh Posté le 01-06-2004 à 17:26:46    

Code :
  1. $nombre_d_occurences = count($tableau);


 
Ensuite pour faire apparaitre tes valeurs une simple boucle genre :
 

Code :
  1. for ($compteur = 0; $compteur <= $nombre_d_occurences; $compteur++)
  2. {
  3. echo $tableau[$compteur];
  4. }


Message édité par Hermes le Messager le 01-06-2004 à 17:27:02
Reply

Marsh Posté le 01-06-2004 à 17:27:22    

un foreach aussi [:aloy]

Reply

Marsh Posté le 01-06-2004 à 17:29:43    

ok !!!!!!!!!
sinon deniere question comment on connait la denriere occurence ?
ici mon tableau contient 12 mais dans le cas general je fais :
<?
$nb=count($tonTableau);  
?>
c'est comme ca ?
 
<?
 
  $data = "15-5526-56-56456-56045-040156";
  $var = explode("-",$data);
  $nb = count($var);
  echo $nb;
  echo "$var[1],$var[2],$var[3],$var[4],$var[5],$var[6]";
?>  
 
c'est bon ca marche !!!
merci

Reply

Marsh Posté le 01-06-2004 à 17:37:17    

j'ai repris le script d'hermes masi j'ai un pb :
tous s'affiche tres bien mais j'ai un message d'erreur :
 
Notice: Undefined offset: 12 in c:\program files\easyphp1-7\www\www\wavy\test.php on line 8
 
line 8 ---->     echo $tableau[$compteur];  
 
je ne connais pas cet erreur ?

Reply

Marsh Posté le 01-06-2004 à 17:40:04    

oui :  
 $nb = count($TonTablo)-1;

Reply

Marsh Posté le 01-06-2004 à 17:41:05    

c ok !!!
Vous zetes des pro  !


Message édité par - janfy - le 01-06-2004 à 17:41:27
Reply

Marsh Posté le 01-06-2004 à 17:57:57    

Hermes le Messager a écrit :

Code :
  1. $nombre_d_occurences = count($tableau);


 
Ensuite pour faire apparaitre tes valeurs une simple boucle genre :
 

Code :
  1. for ($compteur = 0; $compteur <= $nombre_d_occurences; $compteur++)
  2. {
  3. echo $tableau[$compteur];
  4. }




 
"<=" ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 01-06-2004 à 18:28:34    


 
Oui, je me suis trompé, dans ce cas précis, c'est <  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed