|
camil 12
| Posté : 13-10-2004 16:49
bonjour,
suite à des recherche sur le forum j'ai trouvé un script php qui créée un fichier word, mais ce script comporte des erreurs pouvez vous m'aidez car l'erreur qu'il me génére je ne sais pas ce que cela signifie :
Parse error: parse error, unexpected T_IF à la ligne 71
voici la ligne en question :
if(!isset($row[$j])) // c'est cette ligne qui pose prob
$texte .= "NULL".$sep;
elseif ($row[$j] != "")
$texte .= "$row[$j]".$sep;
else
$texte .= "".$sep;
}
merci de m'apporter votre aide |  Profil
|
|
Jireck 8461
| Posté : 13-10-2004 17:01
Chuis pas fort mais j'essaye
if(!isset($row[$j])) {
$texte .= "NULL".$sep;
}elseif ($row[$j] != ""){
$texte .= "$row[$j]".$sep;
}else{
$texte .= "".$sep;
}
|  Profil
|
|
camil 12
| Posté : 13-10-2004 17:11
merci de m'avoir apporter ton aide mais j'avais moi aussi essayé, mais il indique toujours la même erreur |  Profil
|
|
Jireck 8461
| Posté : 14-10-2004 08:48
oki chuis nul mais c'est pas grave...
quelqu'un de plus fort va te repondre ...peut etre |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 14-10-2004 08:54
bien que je ne sois pas certains que ces lignes te pose cette erreur, je te mintre comment j'aurais fais
if(!isset($row[$j])) {
$texte .= "NULL".$sep;
}elseif($row[$j] != ""){
$texte .= $row[$j].$sep;
}else{
$texte .= $sep;
}
Mais au vu de ton erreur, je pense plutot à un oublis de ; à la ligne au dessus du if. |  Profil
|
|
Jireck 8461
| Posté : 14-10-2004 08:59
Voui, j'y pensais aussi mais bon ... chuis flagada aujourd'hui |  Profil
|
|
camil 12
| Posté : 14-10-2004 09:18
bonjour,
merci pour votre aide, apparemment cela ne vient pas de ces lignes, je crois que cela coince au niveau de ma boucle for, pouvez vous vérifier, svp :
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db("$db") or die("Impossible de se connecter à la base de données");
//---- exécution requete SQL
$result = @mysql_query($requete) or die(mysql_error());
//---- separateur
$sep = "\n";
//---- affichage titre
echo("$titre\n\n\n");
//---boucle d'enregistrement des données dans la variable $texte
$i = 0;
while($row = mysql_fetch_row($result))
{
$texte = "";
for($j=0; $j {
//----noms des champs
$texte .= mysql_field_name($result,$j) . " : "; //j'ai rajouté un ; ici
//----contenu
if(isset($row[$j])){
$texte .= "NULL".$sep;
}elseif ($row[$j] != ""){
$texte .= "$row[$j]".$sep;
}else{
$texte .= "".$sep;
}
//----on enlève le "$"
$texte = str_replace($sep."$", "", $texte);
$texte .= "\t";
print(trim($texte));
print "\n\n";
$i++;
}
//----validation que le fichier a bien été rempli
return (true);
?>
|  Profil
|
|
Tribal-Dolphin 4374
| Posté : 14-10-2004 09:24
Va apprendre la syntaxe mon gars !!
for($j=0; $j {
C totallement faut ce truc !! une boucle for est du style :
for($j=0; $j<$maxvaleurdej; $j++) {
.....blablablabla
}
|  Profil
|
|
camil 12
| Posté : 14-10-2004 09:59
désolez mais je me suis planté en copiant
mais mon erreur est toujours présente,
....
//---- exécution requete SQL
$result = @mysql_query($requete) or die(mysql_error());
//---- separateur
$sep = "\n";
//---- affichage titre
echo("$titre\n\n\n");
//---boucle d'enregistrement des données dans la variable $texte
$i = 0;
while($row = mysql_fetch_row($result))
{
$texte = "";
for($j=0; $j< mysql_num_fields($result); $j++) {
//----noms des champs
$texte .= mysql_field_name($result,$j) . " : "
//----contenu
if(!isset($row[$j])) {
$texte .= "NULL".$sep;
}elseif($row[$j] != ""){
$texte .= $row[$j].$sep;
}else{
$texte .= $sep;
}
}
//----on enlève le "$"
$texte = str_replace($sep."$", "", $texte);
$texte .= "\t";
print(trim($texte));
print "\n\n";
$i++;
}
//----validation que le fichier a bien été rempli
return (true);
|  Profil
|
|
Tribal-Dolphin 4374
| Posté : 14-10-2004 10:19
$texte .= mysql_field_name($result,$j) . " : ";
|  Profil
|
|
camil 12
| Posté : 14-10-2004 10:36
merci mais si je rajoute le ; il me met l'erreur suivante :
Parse error: parse error, unexpected ';'
en fait dans la boucle for je dois récupérer le recordset |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 14-10-2004 11:27
Rappel des règles de PHP :
TOUTES LIGNES D'INSTRUCTION DOIT SE TERMINER PAR ; (chapitre 1, page 1, ligne 5)
Je refais ton code à ma façon :
<?
//---- exécution requete SQL
$result = @mysql_query($requete) or die(mysql_error());
//---- separateur
$sep = "\n";
//---- affichage titre
echo("$titre\n\n\n");
//---boucle d'enregistrement des données dans la&nbs p;variable $texte
$i = 0;
while($row = mysql_fetch_row($result)) {
$texte = "";
$max_field = mysql_num_fields($result);
for($j=0; $j < $max_field; $j++) {
//----noms des champs
$field_name = mysql_field_name($result,$j);
$texte .= $field_name." : ";
//----contenu
if(!isset($row[$j])) {
$texte .= "NULL".$sep;
}elseif($row[$j] != ""){
$texte .= $row[$j].$sep;
}else{
$texte .= $sep;
}
}
//----on enlève le "$"
$texte = str_replace($sep."$", "", $texte);
$texte .= "\t";
print(trim($texte));
print "\n\n";
$i++;
}
//----validation que le fichier a bien été  ;rempli
return (true);
?>
|  Profil
|
|
camil 12
| Posté : 14-10-2004 11:47
je te remerci beaucoup, tout fonctionne à merveille
@+ |  Profil
|
|