[SQL] Comment je peux mettre les résultat d'une requete dans un fichier
Ma question est comment je peux mettre les resultat de ma requete dans un fichier qui n'est pas encore créer !
Comment je peux mettre les résultat d'une requete dans un fichier
voila mon fichier !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <html>
<body>
<font color=orange><h3 align=center><u>Résultat</u></h3></font>
<hr>
<CENTER>
<table border=1>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>CNE</th>
<th>Age</th>
<th>Moyenne</th>
</tr>
<?
if (mysql_connect("localhost","root","")>0)
echo"";
else echo "connexion impossible ";
if(mysql_select_db("ensas")==true)
echo "<br> ";
else "selection de la base impossible ";
$choix1=$_POST['choix1'];
$choix2=$_POST['choix2'];
$valeur=$_POST['valeur'];
$requete="SELECT * FROM g_info WHERE $choix1 $choix2 '$valeur'";
$result=mysql_query($requete);
do
{
?>
<tr>
<td><? echo $enreg['NOM']; ?></td>
<td><? echo $enreg['PRENOM']; ?></td>
<td><? echo $enreg['CNE']; ?></td>
<td><? echo $enreg['Age']; ?></td>
<td><? echo $enreg['Moyenne']; ?></td>
</tr>
<?
}while($enreg=mysql_fetch_array($result));
?>
</table>
</center>
</body>
</html> |
ou j dois mettre ca est dans la meme page ou quoi ?
Comment je peux mettre les résultat d'une requete dans un fichier
Merci, mais svp vous avez mis le resultat de la requete dans un fichier appelé $handle mais est ce que je px consulter ce fichier pour voir le resultat que contient ce dernier? Ma deuxième est ce que je px pas pas sauvegarder un contenu dans un fichier ou seulement il suffit de l'ouvrir en mode ecriture et ecrire dedans.
voila le script que j'ai fait pour lire le contenu de $handle mais pas de résultat :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
$file = "$handle.txt";
if( $fd= fopen($file, "r")) {
while( !feof($fd) ) {
$str.= fgets($fd, 1024);
}
fclose($fd);
echo $str;
} else {
die("Ouverture du fichier <b>$file</b> impossible.");
}
?> |
et merci pour votre aide ?
Comment je peux mettre les résultat d'une requete dans un fichier
Ok, pouvez m'eclaircir ce que j'ai mentionner !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| <html>
<body>
<font color=orange><h3 align=center><u>Résultat</u></h3></font>
<hr>
<CENTER>
<table border=1>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>CNE</th>
<th>Age</th>
<th>Moyenne</th>
</tr>
<?
if (mysql_connect("localhost","root","")>0)
echo"";
else echo "connexion impossible ";
if(mysql_select_db("ensas")==true)
echo "<br> ";
else "selection de la base impossible ";
$choix1=$_POST['choix1'];
$choix2=$_POST['choix2'];
$valeur=$_POST['valeur'];
$requete="SELECT * FROM g_info WHERE $choix1 $choix2 '$valeur'";
$result=mysql_query($requete);
do
{
// creation du fichier
if(!($handle = fopen("resultatSQL", "w+"))) {//ici vous avez ouvert le fichier en mode ecriture et lecture en meme temps cad le resultat de la requete est affiché a partir de fichier resultatsql
//prq je px pas recuperer le contenu de mon fichier resultatsql a partir d'un autre fichier comme je fais pour autre fichier
//est ce que mon fichier resultatsql est détruit a chaque fermeture trigger_error("protection en écriture!", E_ERROR);
die();
}
// ecriture dans le fichier
for($i = 0; $i < count($enreg); $i++)
fwrite($handle, $enreg[$i++] . " | ");
// nouvelle ligne
fwrite($handle, "\n"); // fermeture du fichier liberation de l'acces
fclose($handle);
?>
<tr>
<td><? echo $enreg['NOM']; ?></td>
<td><? echo $enreg['PRENOM']; ?></td>
<td><? echo $enreg['CNE']; ?></td>
<td><? echo $enreg['Age']; ?></td>
<td><? echo $enreg['Moyenne']; ?></td>
</tr>
<?
}while($enreg=mysql_fetch_array($result));
?>
</table>
</center>
</body>
</html> |
Si possible expliquez moi ce que vous avez ecris au dessus;
Comment je peux mettre les résultat d'une requete dans un fichier
Merci bcq pour votre aide mais je vx pas travailler avec des classe, revenons a la premiere solution que vous avez donné : je l'ai utiliser comme suit sauf(en rose) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| <html>
<head>
<title>Recherche</title>
<STYLE TYPE="text/css">
tr.c1{background-color:#FF00FF;}
tr.c2{background-color:#DDA0DD;}
</style>
</HEAD>
<body>
<font color=orange><h3 align=center><u>Résultat</u></h3></font>
<hr>
<CENTER>
<table border=1>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>CNE</th>
<th>Age</th>
<th>Moyenne</th>
</tr>
<?
if (mysql_connect("localhost","root","")>0)
echo"";
else echo "connexion impossible ";
if(mysql_select_db("ensas")==true)
echo "<br> ";
else "selection de la base impossible ";
//$choix1=$_POST['choix1'];
//$choix2=$_POST['choix2'];
//$valeur=$_POST['valeur'];
$requete="SELECT * FROM g_info WHERE Age<23";
$result=mysql_query($requete);
if (mysql_num_rows($result)>0)
{
$i=0;
$tabStyle[0]="c1";
$tabStyle[1]="c2";
while($enreg=mysql_fetch_array($result))
{
/* echo '<tr class="'.$tabStyle[++$i%2].'">';
echo '<td>'.$enreg['NOM'].'</td>';
echo '<td>'.$enreg['PRENOM'].'</td>';
echo '<td>'.$enreg['CNE'].'</td>';
echo '<td>'.$enreg['Age'].'</td>';
echo '<td>'.$enreg['Moyenne'].'</td>';
echo '</tr>';*/
echo $enreg['NOM']."".$enreg['PRENOM'];
}
}
if(!($handle = fopen("resultatSQL.txt", "w+")))
{
trigger_error("protection en écriture!", E_ERROR);
die();
}
for($i = 0; $i < count($enreg); $i++) //ici j'obtiens un fichier vide qui contient seulement des'|' par contre si je remplace $enreg[$i++] . " | " par une chaine je recupere cette chaine dans le fichier:( fwrite($handle, $enreg[$i++] . " | ");
fwrite($handle, "\n");
fclose($handle);
?>
</table>
</center>
</body>
</html> |
pourriez vous m'aidez puisue je suis bloquer dans ce point la !
sauvegarde du resultat SQL dans un fichier simple
il y a une petite erreur: $enreg[$i++] doit etre remplacé par $enreg[$i] tout simplement car le compteur est déjà activé dans la déclaration for(). et il faut absolument intégrer l'écriture du fichier à l'instruction while.
Synthétiquement cela donne ça:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| <html>
<head>
<title>Recherche</title>
<STYLE TYPE="text/css">
tr.c1{background-color:#FF00FF;}
tr.c2{background-color:#DDA0DD;}
</style>
</HEAD>
<body>
<font color=orange><h3 align=center><u>Résultat</u></h3></font>
<hr>
<CENTER>
<table border=1>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>CNE</th>
<th>Age</th>
<th>Moyenne</th>
</tr>
<?
if (mysql_connect("localhost","root","")>0)
echo"";
else echo "connexion impossible ";
if(mysql_select_db("ensas")==true)
echo "<br> ";
else "selection de la base impossible ";
//$choix1=$_POST['choix1'];
//$choix2=$_POST['choix2'];
//$valeur=$_POST['valeur'];
$requete="SELECT * FROM g_info WHERE Age<23";
$result=mysql_query($requete);
if (mysql_num_rows($result)>0)
{
$i=0;
$tabStyle[0]="c1";
$tabStyle[1]="c2";
// ouverture initiale
if(!($handle = fopen("resultatSQL.txt", "w+")))
{
trigger_error("protection en écriture!", E_ERROR);
die();
}
while($enreg=mysql_fetch_array($result))
{
/* echo '<tr class="'.$tabStyle[++$i%2].'">';
echo '<td>'.$enreg['NOM'].'</td>';
echo '<td>'.$enreg['PRENOM'].'</td>';
echo '<td>'.$enreg['CNE'].'</td>';
echo '<td>'.$enreg['Age'].'</td>';
echo '<td>'.$enreg['Moyenne'].'</td>';
echo '</tr>';*/
echo $enreg['NOM']."".$enreg['PRENOM'];
// écriture incrémentée
for($i = 0; $i < count($enreg); $i++)
fwrite($handle, $enreg[$i] . " | ");
fwrite($handle, "\n");
}
// fermeture finale
fclose($handle);
}
?>
</table>
</center>
</body>
</html> |
:aie:
Comment je peux mettre les résultat d'une requete dans un fichier
Merci beaucoup cela a régler mon problèmes, Bravo !
je savais pas qu'il me falait juste ca sachant que j'ai deja mis enreg[$i] mais le while m'a échappé ! merci