Php:fichier txt et mysql?

simou -  
 simou -
Bonjour,
j'ai un fichier texte qui contient :
1) l'opération à faire soit un ajout, modification ou suppression (a,m,s)
2) l'identificateur de l'élevé (id_eleve)
3) le nom de l'élevé
j'ai crée un script php faire une gestion des données fichier texte dans MYSQL

<?php
    require_once("xx/xx.php");
	require_once('xx/xxx.php'); 

	$connexion=db_connexion();	
	

// Connexion db 
$cart="a";
$cart="m";
$cart="s";
$fichier_ouvrir = @fopen("permis.txt", "r");
if ($fichier_ouvrir) {
    while (!feof($fichier_ouvrir)) {
                $var_id= rtrim(fgets($fichier_ouvrir, 11));
		$var_titre_eleve= rtrim(fgets($fichier_ouvrir, 200));
		$car= rtrim(fgets($fichier_ouvrir, 1));
		 // echo "".$var_id." ".$var_titre_eleve."<br/>";
  
       if($cart="a")
		{
	     $req=("INSERT INTO eleve VALUES (('".$var_id."'),('".$var_titre_eleve."'))");
	       
	    }
	     else if (($car="m") and ($var_titre_eleve=".$var_titre_eleve.") and ($var_id=".var_id."))
	    { 
	      $req=("UPDATE eleve SET id_eleve ='$var_id' WHERE id_eleve='' ");
		}
		if(($car="s") and ($var_titre_eleve=".$var_titre_eleve.") and ($var_id=".var_id."))
		 {
		     $req=("DELETE from eleve where id_eleve ='$var_id'");
		  }
		else
		 $rep=mysql_query ("$req")or die(mysql_error());   


    } 
    fclose($fichier_ouvrir);
}else {

die('impossible d ouvrir le fichier');
}
// Fermeture DB
?>

ce code n'a rien fait !!!
Qui peux m'aider a résoudre et à corriger ??
Merci d'avance

2 réponses

  1. Nanyick
     
    Bonjour,

    $cart="a";
    $cart="m";
    $cart="s";

    donc finalement $cart="s"; dans tous les cas.

    $car= rtrim(fgets($fichier_ouvrir, 1));
    il ne manquerait pas un "t" à $car ?

    Ensuite, si cela ne suffit pas, explique ce que tu veux faire dans tes if.
    Apparement dans les 3 premiers, tu definis une requete sql.
    et dans le dernier "else", tu l'executes.

    .....
    1
    1. simou
       
      bon dans les if je veux faire un teste sur l'ajout la modification et enfin la suppression:
      1) if carct ="a" alors ajouter
      2) if caract="m" alors modification where n°id _eleve existe
      3) if cact="s" alors suppression where n°id _eleve existe
      voila
      nb:oui c'est vrai il y un "t "qui manque $cart , en copiant j'ai oublier
      merci encore
      0
    2. Nanyick
       
      Voici comment je traduis ton code (et ce que je te propose) :

      if($cart="a") { // en cas d'ajout
      // $req=("INSERT INTO eleve VALUES (('".$var_id."'),('".$var_titre_eleve."'))");

      // l'id devant etre unique, c'est la table qui va (devrait) l'attribuer automatiquement.
      $req=("INSERT INTO eleve VALUES ('$var_titre_eleve')");

      //} else if (($car="m") and ($var_titre_eleve=".$var_titre_eleve.") and ($var_id=".var_id.")){
      // pourquoi tester si une variable est egal a elle-meme ? (enfin, je le traduis comme cela, peut etre me trompe-je ?)

      } else if (($car="m") { en cas de modification
      // $req=("UPDATE eleve SET id_eleve ='$var_id' WHERE id_eleve='' ");
      // j'imagine que si des modifications il y a sur l'eleve, ca ne sera pas son id unique ? peut
      etre son nom ?
      $req=("UPDATE eleve SET nom_eleve ='$var_titre_eleve' WHERE id_eleve=$var_id ");

      // }
      // pourquoi ne pas continuer avec un else if ?

      } else if ($car="s") { // en cas de suppression
      //if(($car="s") and ($var_titre_eleve=".$var_titre_eleve.") and ($var_id=".var_id.") {

      $req=("DELETE from eleve where id_eleve ='$var_id'");
      } else {
      // Attention ... Cas non prévu ! (ni "a" ni "m" ni "s")

      //$rep=mysql_query ("$req")or die(mysql_error());
      $rep = "";
      }

      // Execution de la requete si pas d'erreur
      if ($rep <> "") {
      $rep=mysql_query ("$req")or die(mysql_error());
      }
      0
    3. simou
       
      // l'id devant etre unique, c'est la table qui va (devrait) l'attribuer automatiquement. --> le fichier txt doit ajouter l'id de l'élevé c pas la table qui incrémente automatiquement
      merci de votre aide voila j'ai changer le script comme tu ma proposer mais il n'a rien ajouter dans la base !!!
      0
  2. le père
     
    Bonjour

    Attention, la comparaison en PHP c'est ==, pas simplement =
    corrige if($cart="a") -> if($cart=="a") et toutes tes autres comparaisons
    0
    1. simou
       
      merci le père j'ai bon j'ai tout corriger mais quand je consulte la base sql il n' y rien a changer dans la table !!!
      0
    2. Zep3k!GnO Messages postés 2049 Statut Membre 200
       
      Attention, dans le code, il y a du $rep & du $req et le problème vient de là ! (le if final)
      Je pense que c'est une faute de frappe non ?
      0