Probleme de requete REPLACE

cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007 - 29 août 2006 à 15:14
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 31 août 2006 à 23:54
Alors voila, je dois faire une base de donnée pour le boulot, et je la gère entièrement via une interface Flash.

Mes problemes sont les suivants :

1. Je n'arrive pas a remplacer une fiche deja existante dans la base de donnée. Avec la fonction REPLACE sa ne fonctionne pas. Et en utilisant la fonction INSERT, sa me créer une nouvelle fiche.

mon code est le suivant pour le fichier PHP :

///--------------------------------------------------------------------------------------------------///
<?php

    $host = "localhost";
    $user = "neovalpox";
    $pass = "killer93";
    $bdd =  "art-comvisuelch2";
    $table = "clients";
    $id_fiche=$_GET['id_fiche'];
    $type=$_GET['type_a'];
    $societe=$_GET['societe'];
    $genre=$_GET['genre_a'];
    $nom=$_GET['nom'];
    $prenom=$_GET['prenom'];
    $fonction=$_GET['fonction'];
    $strasse=$_GET['strasse'];
    $cp=$_GET['cp'];
    $npa=$_GET['npa'];
    $ref=$_GET['ref'];
    $type_entreprise=$_GET['type_entreprise'];
    $ville=$_GET['ville'];
    $tel=$_GET['tel'];
    $tel_direct=$_GET['tel_direct'];
    $mobile=$_GET['mobile'];
    $prive=$_GET['prive'];
    $fax=$_GET['fax'];
    $site=$_GET['site'];
    $mail=$_GET['mail'];
    $commentaire=$_GET['commentaire'];
   
    $connection = mysql_connect("$host", "$user", "$pass") or die(mysql_error());
    mysql_select_db("$bdd", $connection) or die(mysql_error());
$requete =  "REPLACE INTO $table(type, societe, genre, nom, prenom, fonction , strasse, cp, npa, ref, type_entreprise, ville, tel, tel_direct, mobile, prive, fax, site, mail, commentaire) VALUES('$type', '$societe', '$genre', '$nom', '$prenom', '$fonction', '$strasse', '$cp', '$npa', '$ref', '$type_entreprise', '$ville', '$tel', '$tel_direct', '$mobile', '$prive', '$fax', '$site', '$mail', '$commentaire') WHERE id_fiche='$id_fiche'";

if(mysql_query( $requete ) == True){
echo"&reussite=Enregistrement terminé";
}
else{
echo"&reussite=Erreur lors de l enregistrement";
}
?>


///--------------------------------------------------------------------------------------------------///




Et voici le code de flash :


///--------------------------------------------------------------------------------------------------///
on (release) {
    loadVariablesNum("http://www.art-comvisuel.ch/php/remplacer.php", 0, "GET");
}

///--------------------------------------------------------------------------------------------------///

J'envoie toutes les donnée au PHP depuis Flash avec la fonction GET, mais sa ne fonctionne quand meme pas, qqun aurai une idée ?

2. Je ne sais pas comment faire un systeme de rafraichissement correct de façon à ce que lorsque je fasse un nouvel enregistrement, sa m'affiche cette nouvelle fiche. Car pour l'instant lorsque je charge l'appli flash, sa vas chercher uniquement la premiere fiche avec le code suivant :


///--------------------------------------------------------------------------------------------------///


<?

// Rentrer les informations à propos de votre base de donnée

    $host = "localhost";
    $user = "neovalpox";
    $pass = "killer93";
    $bdd =  "art-comvisuelch2";
    $table= "clients";

    $connection = mysql_connect("$host", "$user", "$pass") or die(mysql_error());
    mysql_select_db("$bdd", $connection) or die(mysql_error());

$query = "SELECT * FROM $table";

$result = mysql_query($query, $connection) or die('error making query');
$affected_rows = mysql_num_rows($result);

        $id_fiche = mysql_result($result,"","id_fiche");
        $type = mysql_result($result,"","type");
        $societe = mysql_result($result,"","societe");
        $genre = mysql_result($result,"","genre");
        $nom= mysql_result($result,"","nom");
        $prenom = mysql_result($result,"","prenom");
        $fonction = mysql_result($result,"","fonction");
        $strasse = mysql_result($result,"","strasse");
        $cp = mysql_result($result,"","cp");
        $npa = mysql_result($result,"","npa");
        $ref = mysql_result($result,"","ref");
        $type_entreprise = mysql_result($result,"","type_entreprise");
        $ville = mysql_result($result,"","ville");
        $tel = mysql_result($result,"","tel");
        $tel_direct = mysql_result($result,"","tel_direct");
        $mobile = mysql_result($result,"","mobile");
        $prive = mysql_result($result,"","prive");
        $fax = mysql_result($result,"","fax");
        $site = mysql_result($result,"","site");
        $mail = mysql_result($result,"","mail");
        $commentaire = mysql_result($result,"","commentaire");
        $authentifier = "ok";
       
        session_register("id_fiche") ;
        session_register("type") ;
        session_register("societe") ;
        session_register("genre") ;
        session_register("nom") ;
        session_register("prenom") ;
        session_register("fonction") ;
        session_register("strasse") ;
        session_register("cp") ;
        session_register("npa") ;
        session_register("ref") ;
        session_register("type_entreprise") ;
        session_register("ville") ;
        session_register("tel") ;
        session_register("tel_direct") ;
        session_register("mobile") ;
        session_register("prive") ;
        session_register("fax") ;
        session_register("site") ;
        session_register("mail") ;
        session_register("commentaire") ;
        session_register("authentifier") ;
       
        print "&id_fiche=$id_fiche";
        print "&type=$type";
        print "&societe=$societe";
        print "&genre=$genre";
        print "&nom=$nom";
        print "&prenom=$prenom";
        print "&fonction=$fonction";
        print "&strasse=$strasse";
        print "&cp=$cp";
        print "&npa=$npa";
        print "&ref=$ref";
        print "&type_entreprise=$type_entreprise";
        print "&ville=$ville";
        print "&tel=$tel";
        print "&tel_direct=$tel_direct";
        print "&mobile=$mobile";
        print "&prive=$prive";
        print "&fax=$fax";
        print "&site=$site";
        print "&mail=$mail";
        print "&commentaire=$commentaire";
        print "&authentifier=$authentifier";
        print "&accepter=1";

?>

///--------------------------------------------------------------------------------------------------///

3. Je dois également faire un syteme de navigation entre les fiches, avec un systeme de page suivante et précédente, mais je n'ai pas d'idée sur la façon de m'y prendre.

4. Mon dernier souci est de faire un systeme de recherche avec les meme variables ce trouvant dans l'application flash (donc pas avec un champ "rechercher" mais en utilisant les information du formulaire) par exemple si je fait une recherche et dans le champ "nom" je tape Despland, sa me sors toutes les fiches avec le "nom" Despland, si je met "nom" Despland "prenom" Henri, sa m'affiche toutes les fiches ayant comme "nom" Despland et comme "prenom" Henri.

je sais que c'est un programme assez imposant, si qqun veux m'aider, que sa soit par le biais de ce poste, ou par MSN,  mon adresse est flavio_valceschini@hotmail.com.

Merci d'avance

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
31 août 2006 à 23:54
Salut

Ce n'est pas la fonction repalce qu'il faut utiliser mais

1

UPDATE
replace est destinée aux maniputalions de chaines.

UPDATE MATABLE SET X valueX, Y valueY where CLE = ID

2

http://fr.php.net/mysql

$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);

(evite d'utiliser les sessions) pour ce genre de manipualtions de ton cas ca sert à rien
les sessions c'est pour sauvegarder des infos de page en pages (et encore) il y a les champs POST et GET

3 -
Pour le systeme de navigation
mysql_data_seek
semble repondre a cette question
http://www.manuelphp.com/php/function.mysql-data-seek.php

4 -

un petit if sur la clause where
et le tour est jouer

astuces

where 1 = 1

if ($textnom != ""){
$sql ." AND nom '" . $textnom . "'"
}

....

Je te conseille de regarder un tutoriel php avant et surtout mysql
avant de poser des questions.

Consulte la doc PHP et les forums existants sur internet avant de poser des questions . Google est ton ami.

Bien sur il faut bien débuter un jour.



Car

Voila
0
Rejoignez-nous