Php:fichier txt et mysql?

Fermé
simou - 17 févr. 2012 à 10:10
 simou - 17 févr. 2012 à 12:47
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

A voir également:

2 réponses

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
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
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
// 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
Bonjour

Attention, la comparaison en PHP c'est ==, pas simplement =
corrige if($cart="a") -> if($cart=="a") et toutes tes autres comparaisons
0
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
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
Modifié par Zep3k!GnO le 17/02/2012 à 12:29
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