Problème affichage résultat [PHP]
Résolu
                    
        
     
             
                    Kitty-cat
    
        
    
                    Messages postés
            
                
     
             
            141
        
            
                                    Statut
            Membre
                    
                -
                                     
Kitty-cat Messages postés 141 Statut Membre -
        Kitty-cat Messages postés 141 Statut Membre -
        Bonjour à vous, chers ccmistes.
Je vous demande de l'aide suite à un problème d'affichage de résultats d'un mysql_fetch_array(). En effet, alors que je l'utilise comme je le fais tout le temps d'habitude, ce couillon oublie toujours de m'envoyer un résultat, en l'occurence mon premier résultat. Il prend ensuite les autres correctement. C'est ma foi un peu gênant, car je souhaiterais utiliser les résultats récupérés pour faire ensuite une requête de delete. Or s'il me manque un des fichiers à supprimer, ca peut etre gênant (Je n'ai pas encore codé la partie du delete par contre).
Voici le code :
[code]
<?php
session_start();
$dsn='localhost';
$username='root';
$password='';
$sqlconnect=mysql_connect($dsn,$username,$password);
mysql_select_db('Intranet',$sqlconnect);
$tab = array();
$resultat = array();
foreach($_POST as $key => $value)
{
array_push($tab,$value);
}
$select = " select NomOriginalFichier From IdFich ";
$counttab = count($tab);
if ($counttab == 1) {
$where = " where idfichiers = ".$tab[0]."";
}
else {
$where = " where idfichiers = ".$tab[0]."";
for ($i=0;$i<=($counttab - 1);$i++) {
$where .= " or idfichiers = ".$tab[$i]."";
}
}
$select .= $where;
$res = mysql_query($select);
$resultat = mysql_fetch_array($res);
$NomFichier = array();
 
while($resultat=mysql_fetch_array($res)){
array_push($NomFichier, $resultat['NomOriginalFichier']);
}
echo $NomFichier[0];
echo "<br />";
echo $NomFichier[1];
?>
[/code]
Cela fait bien une heure que je cherche la solution au problème, mais pour l'instant rien n'a marché. Je vais continuer à chercher, mais j'espère, si d'aventure je ne trouvais pas, que l'un de vous saura m'aider à corriger. D'avance, je vous remercie.
Cordialement,
Kitty-Cat
                
            
                
    
    
    
        Je vous demande de l'aide suite à un problème d'affichage de résultats d'un mysql_fetch_array(). En effet, alors que je l'utilise comme je le fais tout le temps d'habitude, ce couillon oublie toujours de m'envoyer un résultat, en l'occurence mon premier résultat. Il prend ensuite les autres correctement. C'est ma foi un peu gênant, car je souhaiterais utiliser les résultats récupérés pour faire ensuite une requête de delete. Or s'il me manque un des fichiers à supprimer, ca peut etre gênant (Je n'ai pas encore codé la partie du delete par contre).
Voici le code :
[code]
<?php
session_start();
$dsn='localhost';
$username='root';
$password='';
$sqlconnect=mysql_connect($dsn,$username,$password);
mysql_select_db('Intranet',$sqlconnect);
$tab = array();
$resultat = array();
foreach($_POST as $key => $value)
{
array_push($tab,$value);
}
$select = " select NomOriginalFichier From IdFich ";
$counttab = count($tab);
if ($counttab == 1) {
$where = " where idfichiers = ".$tab[0]."";
}
else {
$where = " where idfichiers = ".$tab[0]."";
for ($i=0;$i<=($counttab - 1);$i++) {
$where .= " or idfichiers = ".$tab[$i]."";
}
}
$select .= $where;
$res = mysql_query($select);
$resultat = mysql_fetch_array($res);
$NomFichier = array();
while($resultat=mysql_fetch_array($res)){
array_push($NomFichier, $resultat['NomOriginalFichier']);
}
echo $NomFichier[0];
echo "<br />";
echo $NomFichier[1];
?>
[/code]
Cela fait bien une heure que je cherche la solution au problème, mais pour l'instant rien n'a marché. Je vais continuer à chercher, mais j'espère, si d'aventure je ne trouvais pas, que l'un de vous saura m'aider à corriger. D'avance, je vous remercie.
Cordialement,
Kitty-Cat
        A voir également:         
- Problème affichage résultat [PHP]
- Resultat foot - Télécharger - Vie quotidienne
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Problème affichage fenêtre windows 10 - Guide
- Lexer resultat - Télécharger - Sport
5 réponses
                        
                    Bonjour,
Je pense que le code suivant n'est pas correct
en effet, ta boucle For devrait commencer avec la valeur $i=1 car tu as déjà utilisé l'élement 0 de ton array
A plus et Joyeuses Fêtes
    
                Je pense que le code suivant n'est pas correct
else { 
$where = " where idfichiers = ".$tab[0].""; 
for ($i=0;$i<=($counttab - 1);$i++) { 
$where .= " or idfichiers = ".$tab[$i].""; 
} 
en effet, ta boucle For devrait commencer avec la valeur $i=1 car tu as déjà utilisé l'élement 0 de ton array
else { 
$where = " where idfichiers = ".$tab[0].""; 
for ($i=1;$i<=($counttab - 1);$i++) { 
$where .= " or idfichiers = ".$tab[$i].""; 
} 
A plus et Joyeuses Fêtes
                        
                    Rebonjour
As-tu déjà essayè avec le code suivant
ou sinon celà
De cette façon tu sauves aussi ton premier $resultat
A plus
    
                As-tu déjà essayè avec le code suivant
$NomFichier = array();
$res = mysql_query($select);
if(mysql_num_rows($res))
{
  while($resultat = mysql_fetch_assoc($res))
  {
    array_push($NomFichier, $resultat['NomOriginalFichier']); 
  }
}
ou sinon celà
$NomFicher = array();
$resultat = mysql_fetch_array($res);
array_push($NomFichier, $resultat['NomOriginalFichier']);
while($resultat=mysql_fetch_array($res))
{ 
  array_push($NomFichier, $resultat['NomOriginalFichier']); 
} 
De cette façon tu sauves aussi ton premier $resultat
A plus
                        
                    Bonjour,
à la place de:
$tab = array();
$resultat = array();
foreach($_POST as $key => $value)
{
array_push($tab,$value);
}
$select = " select NomOriginalFichier From IdFich ";
$counttab = count($tab);
if ($counttab == 1) {
$where = " where idfichiers = ".$tab[0]."";
}
else {
$where = " where idfichiers = ".$tab[0]."";
for ($i=0;$i<=($counttab - 1);$i++) {
$where .= " or idfichiers = ".$tab[$i]."";
}
}
$select .= $where;
simplifies et mets:
Ca réglera ton pb de premiere ligne extraite.
Le foreach($_POST...
n'est pas trop réglo car tu empile dans ton array tout ce que t'envoie le formulaire y compris le bouton Submit
    
                à la place de:
$tab = array();
$resultat = array();
foreach($_POST as $key => $value)
{
array_push($tab,$value);
}
$select = " select NomOriginalFichier From IdFich ";
$counttab = count($tab);
if ($counttab == 1) {
$where = " where idfichiers = ".$tab[0]."";
}
else {
$where = " where idfichiers = ".$tab[0]."";
for ($i=0;$i<=($counttab - 1);$i++) {
$where .= " or idfichiers = ".$tab[$i]."";
}
}
$select .= $where;
simplifies et mets:
$tab = array();
foreach($_POST as $key => $value)
{
array_push($tab,$value);
}
$select = "SELECT NomOriginalFichier FROM IdFich WHERE ";
for ($i=0;$i<sizeof($tab);$i++) {
	if($i>0){ $where .=" OR ";}
	$where .= "idfichiers = ".$tab[$i]."";
}
$select .= $where;
Ca réglera ton pb de premiere ligne extraite.
Le foreach($_POST...
n'est pas trop réglo car tu empile dans ton array tout ce que t'envoie le formulaire y compris le bouton Submit
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question