begin process at 2012 05 31 09:03:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

recherche proposition de regime miceur de script :-)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recherche proposition de regime miceur de script :-)

lundi 25 janvier 2010 à 09:33:38 | recherche proposition de regime miceur de script :-)

eva4

Kikou tout le monde et bon début de semaine

bon c pas urgent, je me demandais juste si quelqu'un ici serait en mesure de me proposer une sorte de regime pour mon script. Il fonctionne nikel, mais je penses que j'ai pas tout fais dans les règle de l'art et que des mieux peuvent être apporté.
Donc si des personnes veulent me soumettre leurs idées, je prends

Code PHP :
$mysql_link=mysql_connect("xxxxx", "xxxx", "xxxxxx");
mysql_select_db("xxxxxx", $mysql_link);
$sql=("select ro1, ro2, ro3 from ep_ro Where F='$Z'");
$resul=mysql_query($sql);
$rs=mysql_fetch_array($resul);
$ro1=$rs["ro1"];
$ro2=$rs["ro2"];
$ro3=$rs["ro3"];




$mysql_link=mysql_connect("xxxxx", "xxxx", "xxxxxx");
mysql_select_db("xxxxxx", $mysql_link);
$sql=("select case1, case2, case3 from ep_list Where F='$F'");
$resul=mysql_query($sql);
$rs=mysql_fetch_array($resul);
$A=$rs["case1"];
$B=$rs["case2"];
$C=$rs["case3"];

if ($C=="toto"){
	$result="1";
}
if ($C=="tutu"){
	$result="2";
}
if ($C=="titi"){
	$result="3";
}
if ($C=="tete"){
	$result="4";
}
if ($C=="tata"){
	$result="5";
}
if ($C=="tsts"){
	$result="6";
}
if ($C=="tyty"){
	$result="7";
}
if ($C=="tmtm"){
	$result="8";

//****************************
if ($C=="toto"){
if ($ro1==''){
$updateSQL = "UPDATE ep_stats SET f='1' WHERE F='$F'";
mysql_select_db("xxxxx", $mysql_link);
$Result1 = mysql_query($updateSQL, $mysql_link) or die(mysql_error());}

if ($C !==''){
$a = $ro1 + "1";
$updateSQL = "UPDATE ep_stats SET f='$a' WHERE F='$F'";
mysql_select_db("xxxxxx", $mysql_link);
$Result1 = mysql_query($updateSQL, $mysql_link) or die(mysql_error());}
}


if ($C=="tutu"){
if ($ro2==''){
// COMPTEUR VISITE
$updateSQL = "UPDATE ep_stats SET fb='1' WHERE F='$F'";
mysql_select_db("xxxxxx", $mysql_link);
$Result1 = mysql_query($updateSQL, $mysql_link) or die(mysql_error());}

if ($C !==''){
$a = $ro2 + "1";
$updateSQL = "UPDATE ep_stats SET fb='$a' WHERE F='$F'";
mysql_select_db("xxxxxx", $mysql_link);
$Result1 = mysql_query($updateSQL, $mysql_link) or die(mysql_error());}
}
}

Bref le but est de simplifier
Etc....
lundi 25 janvier 2010 à 14:49:27 | Re : recherche proposition de regime miceur de script :-)

jeca

Bonjour,

Tout d'abord, pas besoin de répéter ces lignes ; une seule connexion suffit pour la page :
Code PHP :
  $mysql_link = mysql_connect('xxxxx', 'xxxx', 'xxxxxx');
  mysql_select_db('xxxxxx', $mysql_link);

Dans ces lignes, tu peux constater que j'ai remplacé les guillemets par des apostrophes : toute chaîne de caractères encadrée par des guillemets fait travailler le moteur php, car il considère qu'il y a éventuellement une expression à évaluer. Il est donc obligé d'analyser la totalité de celle-ci. Il vaut mieux faire une concaténation. Exemple :
Code PHP :
  $sql = 'SELECT ro1, ro2, ro3 
          FROM ep_ro 
          WHERE F = \'' . $Z . '\'';

Les valeurs numériques n'ont pas à être encadrées, que ce soit dans le code php ou dans les requêtes sql.

Les tests sur $C pourraient être remplacés par un tableau :
Code PHP :
  $tableau = array('toto' => 1,
                   'tutu' => 2,
                   'titi' => 3,
                   'tete' => 4,
                   'tata' => 5,
                   'tsts' => 6,
                   'tyty' => 7,
                   'tmtm' => 8
                  );
  $result = $tableau[$C];


Ensuite, je doute fort que le code fonctionne nickel :
Code PHP :
  if ($C == 'tmtm')
  {
    $result = 8;

    //****************************
    if ($C == 'toto')
    {

Nous avons ici des tests imbriqués. Comment $C peut-il prendre plusieurs valeurs ? Ou bien il s'agit d'une erreur de recopie dans le forum.
Quelques liges plus bas, il y a ce nouveau test :
Code PHP :
      if ($C !== '')

Celui-ci est inutile car si $C == 'toto', $C est obligatoirement différent à ''.

Bref, tout ceci donnerait un code dans ce genre, si l'on exclut le problème d'accolades :
Code PHP :
<?php
  $mysql_link = mysql_connect('xxxxx', 'xxxx', 'xxxxxx');
  mysql_select_db('xxxxxx', $mysql_link);
  
  $sql = 'SELECT ro1, ro2, ro3 

          FROM ep_ro 
          WHERE F = \'' . $Z . '\'';
  $resul = mysql_query($sql);
  $rs = mysql_fetch_array($resul);
  $ro1 = $rs['ro1'];
  $ro2 = $rs['ro2'];
  $ro3 = $rs['ro3'];

  $sql = 'SELECT case1, case2, case3 

          FROM ep_list 
          WHERE F = \'' . $F . '\'';
  $resul = mysql_query($sql);
  $rs = mysql_fetch_array($resul);
  $A = $rs['case1'];
  $B = $rs['case2'];
  $C = $rs['case3'];

  $tableau = array('toto' => 1,
                   'tutu' => 2,
                   'titi' => 3,
                   'tete' => 4,
                   'tata' => 5,
                   'tsts' => 6,
                   'tyty' => 7,
                   'tmtm' => 8
                  );
  $result = $tableau[$C];
   
  //****************************
  if ($result == 1)
  {
    if ($ro1 == '')
    {
       $ro1 = 0;
    }

    $ro1 += 1;
    $updateSQL = 'UPDATE ep_stats 

                  SET f = ' . $ro1 . ' 
                  WHERE F = \'' . $F . '\'';
    $Result1 = mysql_query($updateSQL, $mysql_link) 
      or die(mysql_error());      
  }

  if ($result == 2)
  {
    if ($ro2 == '')
    {
      // COMPTEUR VISITE
      $ro2 = 0;
    }

      $ro2 += 1;
      $updateSQL = 'UPDATE ep_stats 

                    SET fb = ' . $ro2 . ' 
                    WHERE F = \'' . $F . '\'';
      $Result1 = mysql_query($updateSQL, $mysql_link) or die(mysql_error());      
    }
  }
?>


Cordialement.

JC
mardi 26 janvier 2010 à 09:09:55 | Re : recherche proposition de regime miceur de script :-)

syndrael

Allez.. on va pousser le vice.. LOL !!
Pour tes requetes, passe par un sprintf. En effet, ça te permet d'avoir un contrôle du type de tes données et de mettre en tes entrées pas conformes. Et puis le 'espace-string', qui te permet de passer des chaines de caractères correctement.
S.


Cette discussion est classée dans : mysql, rs, select, link, if


Répondre à ce message

Sujets en rapport avec ce message

pb sur mysql avec requete select * from TABLE IN (select ...) [ par malibu23 ] Salut j ai un pb sur mysql lorsque je fais un requetedu type select CHAMP from TABLE where CHAMP IN ( select CHAMP from TABLE where CHAMP = VARIABLE); select mysql par date [ par lebobby ] Bonjour le mondeJe voudrais savoir comment faire un select sur une table qui possede un champ date_recep (de type datetime) dont cette date_recep est aide hebergeur [ par mohamed6 ] voila je voudrais savoir ce qu'il faut mettre à la place $dbroot$dbunser$dbpass$url$cheminpour $dbpass je suppose que c'est le mot de passe et le rest galere avec free et php MySQL [ par bigfootspi ] bon voila le code de mon livre d'or !le soucis c'est qu'il met dix ans a se connecter a la base alors que de temps en temps il va vite ! je ne compren ## Où est l'erreur ???? bon diou !! [ par kodiask ] voila dite moi pourkoi lorsque je met le code la, il n'y a rien ki saffiche ? (c un système de citation aléatoire)mysql_select_db('cit_tbl',$db); $que sil vou plé où est l'erreur ? [ par kodiask ] voilà g fai un système de citation au hazard et kanje met le code là il maffiche rien du tout , pourkoi ? merci ....mysql_select_db('cit_tbl',$db); $q ::Problème avec mon compteur [ par kodiask ] voilà j'ai un compteur qui compte par raport aux ip des visiteur mai le problème est qu'il ne rentre pas les ip dans la BDD je compren pas pourquoi: v Inversement requete MySql [ par mick0000000001 ] Voici mon code: $select = mysql_query("SELECT * FROM $blabla ORDER BY id DESC LIMIT 0,6");$result = mysql_num_rows($select);if($result == '0'){echo "" count [ par westsider ] comment en récupére la valeur d'un count dans mysql??$result = mysql_query("SELECT COUNT (id) AS truc FROM film");while($select = mysql_fetch_array($r 3 liste déroulante avec sauvegarde des choix [ par benj2k ] Bonjour,j'ai 3 liste deroulante et je souhaite faire un choix dans la 2e en fonction de la 1ere (ca j'y arrive lol) et faire un choix dans la 3e en fo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales