Timing pour un enregistrement

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Timing pour un enregistrement

Re: Timing pour un enregistrement

par oxoCreations » 13 oct. 2010, 17:43

je n'y manquerai pas. Mais pour l'instant ceci ne résout pas mon problème.

Re: Timing pour un enregistrement

par AoSiX » 13 oct. 2010, 16:22

ET n'oublies pas de citer PHPFRANCE.COM sur ton site pour l'aide.

Re: Timing pour un enregistrement

par AB » 13 oct. 2010, 15:14

Essayes
//...

$req = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
     //on affiche les informations de l'enregistrement en cours
     echo '<pre>';
     print_r($data);
     echo '</pre>';
    }
Et tu comprendras que tu peux ne faire qu'une seule requête à la place de 13

Re: Timing pour un enregistrement

par oxoCreations » 13 oct. 2010, 14:44

Je publie le code en entier. Je supprime juste l'adresse mail. dans le fichier connexion.php il y a juste mes identifiants de bdd
<?php
require_once "connexion.php";

function envoimailtosunelis() {
    
    

$table = "prospect";
mysql_select_db($table, $connect);

    sleep(5);

$requete = 'SELECT * FROM `sunelio_prospect` ORDER BY DATE_RECEPTION_CONTRAT DESC LIMIT 0,1' ;


// on envoie la requête
$req = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
     //on enregistre les informations de l'enregistrement en cours
    $adresse = $data['ADRESSE'] ;
    }
    
     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req2 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req2))
    {
     //on enregistre les informations de l'enregistrement en cours
    $latitude = $data['LATITUDE'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req3 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req3))
    {
     //on enregistre les informations de l'enregistrement en cours
    $longitude = $data['LONGITUDE'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req4 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req4))
    {
     //on enregistre les informations de l'enregistrement en cours
    $couverture = $data['TYPE_COUVERTURE'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req5 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req5))
    {
     //on enregistre les informations de l'enregistrement en cours
    $inclinaison = $data['INCLINAISON'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req6 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req6))
    {
     //on enregistre les informations de l'enregistrement en cours
    $situationfamiliale = $data['SITUATION_FAMILLE'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req7 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req7))
    {
     //on enregistre les informations de l'enregistrement en cours
    $nombrepersonnes = $data['PERSONNE_CHARGE'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req8 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req8))
    {
     //on enregistre les informations de l'enregistrement en cours
    $civ = $data['TITRE'] ;
    }         

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req9 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req9))
    {
     //on enregistre les informations de l'enregistrement en cours
    $nom = $data['NOM'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req10 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req10))
    {
     //on enregistre les informations de l'enregistrement en cours
    $prenom = $data['PRENOM'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req11 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req11))
    {
     //on enregistre les informations de l'enregistrement en cours
    $telephone = $data['TEL1'] ;
    }     

     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req12 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req12))
    {
     //on enregistre les informations de l'enregistrement en cours
    $mail = $data['EMAIL'] ;
    }     



     
///////////////////////////////////////////////////////////////////////////////////////////////////////////    
// on envoie la requête
$req13 = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error());    
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req13))
    {
     //on enregistre les informations de l'enregistrement en cours
    $commentaires = $data['OBSERVATION'] ;
    } 
    
    
                                          

// To
$to = '[email protected]';

// Subject
$subject = 'DEMANDE DE DEVIS ';

// Headers
$headers = 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
$headers .= "\r\n";

// Message
$msg .= '<strong>Voici une demande de devis re&ccedil;ue sur le site : </strong>';

$msg .='<br /><strong>Adresse de l\'installation : </strong>'.$adresse;
$msg .='<br /><strong>Latitude : </strong>'.$latitude; 
$msg .='<br /><strong>Longitude : </strong>'.$longitude;
$msg .='<br /><strong>Type de couverture : </strong>'.$couverture;
$msg .='<br /><strong>Inclinaison : </strong>'.$inclinaison;
$msg .='<br /><strong>Situation familiale : </strong>'.$situationfamiliale;
$msg .='<br /><strong>Nombre de personnes &aacute; charge : </strong>'.$nombrepersonnes;
$msg .='<br /><strong>Civilit&eacute; : </strong>'.$civ;
$msg .='<br /><strong>Nom : </strong>'.$nom;
$msg .='<br /><strong>Prenom : </strong>'.$prenom;
$msg .='<br /><strong>Telephone : </strong>'.$telephone;
$msg .='<br /><strong>Mail : </strong>'.$mail;
$msg .='<br /><strong>Commentaire : </strong>'.$commentaires;    



// Function mail()
mail($to, $subject, $msg, $headers);


mysql_close();

}

envoimailto();


?>
merci du coup de main :)

sinon mon code fonctionne bien donc si d'autres en ont besoin je laisse libre à chacun de le copier, merci de citer la source : oxoCreations

Le plus important étant de résoudre mon problème de timing

Re: Timing pour un enregistrement

par Cyrano » 13 oct. 2010, 13:34

Si elle fonctionne parfaitement directement en SQL, le problème se situe donc avant lors de l'envoi de la requête via PHP. Ce que j'essaye de te faire voir, c'est une manière d'isoler l'endroit où il existe une anomalie.

On peut donc considérer que le problème ne relève pas du SQL mais du PHP : reste donc à nous montrer la partie du code où est définie la requête, la manière dont elle est envoyée, et ensuite la manière dont est récupéré le résultat. Donc maintenant, il faudrait qu'on voit cette partie du code pour y déceler une erreur ;)

Re: Timing pour un enregistrement

par oxoCreations » 13 oct. 2010, 12:25

voici ma requête :
$requete = 'SELECT * FROM `sunelio_prospect` ORDER BY DATE_RECEPTION_CONTRAT DESC LIMIT 0,1' ;

elle fonctionne parfaitement dans php my admin

Re: Timing pour un enregistrement

par Cyrano » 13 oct. 2010, 11:10

Fais donc voir à quoi ressemble ta requête SQL.

Au passage : as-tu testé ta requête en dur directement dans un client genre ligne de commande MySQL ou phpMyAdmin ?

Timing pour un enregistrement

par oxoCreations » 13 oct. 2010, 10:15

Bonjour,

j'ai un petit soucis sur une requête. Afin de générer un mail après une demande de devis, je me connecte à la BDD pour récupérer la dernière entrée et ajouter les données dans mon mail.

j'utilise tout bêtement un order by desc avec limit 1 sur la colonne de date de soumission (paramétrée en time)

le problème est que je récupère à chaque fois l'entrée x-1

j'ai l'impression que c'est un problème de temps d'écriture et de lecture ou peut être autre chose....



merci de votre aide ;)