Encore une question sur while

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Encore une question sur while

par Sékiltoyai » 07 oct. 2007, 13:36

La solution du !in_array() te fait faire plus d'opérations en php qu'un array_diff() (le contraire de array_intersect() …)

par yesh » 07 oct. 2007, 13:11

super merci je comprendrai jamais fetch array jcrois

une dernière question : existe-t-il un fonction inverse d'array_intersect(); ?

c'est à dire une fction qui renvoie non pas les éléments semblables de 2 tableaux mais les éléments différents ?

[EDIT]
ok j'ai rien dit. je remplis simplement un 1er array, puis dans mon 2e while je fais un !in_array[premier array]

wéééé vive péachpé !

par Tracker » 07 oct. 2007, 13:05

vire le premier
$donnees = mysql_fetch_array($retour); 
C'est lui qui te "mange" le premier enregistrement
a+

par yesh » 07 oct. 2007, 13:02

<?php
$connection = mysql_connect("blabla","bla","bla");
if ( ! $connection )
die ("Echec de la connection à la base de donnees");
$mabasededonnée="blablabla";
mysql_select_db($mabasededonnée) or die ("Connection impossible à la base de donnees");
//
// récup des données déja présentes
//
$index = 0;
$index2 = 0;
$rep = 'Test';
$retour = mysql_query('SELECT nom FROM '.$rep.' ORDER BY id DESC'); 
$donnees = mysql_fetch_array($retour);
print_r(mysql_fetch_array($retour));
while ($donnees = mysql_fetch_array($retour)) 
{
	$table[]=$donnees['nom'];
	$index++;
	
}
echo $table[0];

//
$handle=opendir($rep);
while (false !== ($file = readdir($handle))) 
{
	if ($file != "." && $file != "..")
	{
	$directory[]=$file;
	$index2++;
	
	}
}
//echo $directory[3];
if ($index>0 && $index2>0)
{
	$result = array_intersect ($table, $directory);
	
	echo('Intersect!');
} 
echo ('Inscription dans la base effectuee !');
echo $result[3];
closedir($handle); 
?>

par Tracker » 07 oct. 2007, 13:00

File tout ton code (depuis l'ouverture de connection)

par yesh » 07 oct. 2007, 12:51

il me sort ça

Array ( [0] => stb200703a_d18_0086bw-Low.jpg [nom] => stb200703a_d18_0086bw-Low.jpg )

ce qui correspond à l'entrée no 2 de ma table

Si je fais un $table[0] c'est bien cette entreé
Si je fais un $table[1] il me lache l'entrée no 1 (???)
et Si je fais un $table[2] il me met rien

La suis paumé

par fab » 07 oct. 2007, 12:40

fait un print_r(mysql_fetch_array($retour)); avant ton while() pour vérifier

Encore une question sur while

par yesh » 07 oct. 2007, 12:37

Bonjour !

J'essaye d'apprivoiser php la c'est pas évident

Ma question. Je remplis un array via une boucle while

Code : Tout sélectionner

while ($donnees = mysql_fetch_array($retour)) { $table[]=$donnees['nom']; echo $donnees['nom']; echo $index++; } echo ($table[0]);
Il y a 3 occurences. Or, en $table[0], c'est la deuxième qui apparait. Ou est passée la première ?? Meme chose pour index, il me met 0, puis 1... alors qu'il y a 3 entrées !

Une piste ?