logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
20 visiteur(s) et 1 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 111 426 087

  • Nb. de membres 8 701
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [Résolu] - problème dans un script

[Résolu] - problème dans un script#13852

3Contributeur(s)
camilJireckTribal-Dolphin
3 Modérateur(s)
developpeurjpbJireck
camil camilicon_post
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 :-?
Jireck Jireckicon_post
Chuis pas fort mais j'essaye



if(!isset($row[$j])) {
$texte .= "NULL".$sep;
}elseif ($row[$j] != ""){
$texte .= "$row[$j]".$sep;
}else{
$texte .= "".$sep;
}

camil camilicon_post
merci de m'avoir apporter ton aide mais j'avais moi aussi essayé, mais il indique toujours la même erreur
Jireck Jireckicon_post
oki chuis nul mais c'est pas grave...
quelqu'un de plus fort va te repondre ...peut etre
Tribal-Dolphin Tribal-Dolphinicon_post
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.
Jireck Jireckicon_post
Voui, j'y pensais aussi mais bon ... chuis flagada aujourd'hui
camil camilicon_post
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);

?>

Tribal-Dolphin Tribal-Dolphinicon_post
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
}

camil camilicon_post
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);

Tribal-Dolphin Tribal-Dolphinicon_post


$texte .= mysql_field_name($result,$j) . " : ";

camil camilicon_post
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
Tribal-Dolphin Tribal-Dolphinicon_post
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 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);
?>


camil camilicon_post
je te remerci beaucoup, tout fonctionne à merveille :=!

@+