TyFFoul
Messages postés6Date d'inscriptionmardi 31 août 2004StatutMembreDernière intervention23 septembre 2006 2 janv. 2006 à 16:47
oui excuse-moi j'ai inversé ;)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 janv. 2006 à 16:43
TyFFoul moi c'est coucou747 pas 474
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 16:26
C'est un truc que j'utilise jamais ça les try catch ! mais je conserve ça peut etre utile !
merci
TyFFoul
Messages postés6Date d'inscriptionmardi 31 août 2004StatutMembreDernière intervention23 septembre 2006 2 janv. 2006 à 16:18
ok merci coucou474!
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 2 janv. 2006 à 16:03
Disons que le "OR ..." permet de tout avoir sur une ligne.
Pour Coucou : TH signifie bien Table Header :)
Encore Coucou : Plus besoin de faire list($x, $y) explode(' ', microtime());
> microtime(true); // Tout simplement :)
Autrement, pour gérer les erreurs, tu peux utiliser les exceptions => throw new Exception('Message d\'erreur');
Et pour pouvoir les utiliser convenablement :
try {
afficherRequete2($req);
} catch (Exception $e) {
echo 'Erreur détectée : '.$e->getmessage();
}
C'est bien plus facile à utiliser plutot que de faire un renvoi de TRUE/FALSE pour une detection d'erreur (sauf si la fonction est simpliste).
Mais bon, c'est au choix :)
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 15:57
je récupère le timer, je le mets pas dedans mais ça pourra être utile aux prochains visiteurs :) et accessoirement pour moi aussi !
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 15:57
je récupère le timer, je le mets pas dedans mais ça pourra être utile aux prochains visiteurs :) et accessoirement pour moi aussi !
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 15:53
Par rapport à ceci:
# $rst = mysql_query($sql);
# if (!$rst){
# echo "Erreur :" . mysql_error() . "
";
tu devrais utiliser or die... ou or {echo mysql_error();return false; }
au final ça change rien, je test si la requete a échoué ou pas
si (requete échouée) alors
j'affiche le message d'erreur
sinon
je l'affiche
finsi
le or die est pratique c'est ce que j'utilise jusqu'a ce que j'apprenne ceci :)
@+ et merci pour votre aide
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 janv. 2006 à 15:52
<th> = table header (je crois) ça te permet de mettre dans le css :
th{
/*mon table header*/
}
et c'est par défaut centré et en gras...
Bon, sinon, un vulgaire bench pour le temps de requette sql...
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 15:42
Ok je v modif ça, merci pour l'info.
TyFFoul
Messages postés6Date d'inscriptionmardi 31 août 2004StatutMembreDernière intervention23 septembre 2006 2 janv. 2006 à 15:39
Oui c'est plus rapide mais la syntaxe est différente selon ' ou " :
<?php
$nom=toto;
echo"Salut $nom !!";
/*ou avec les '*/
echo'Salut '.$nom.' !!';
?>
Pour coucou747 :
Comment fais-tu pour renvoyer le temps d'exécution de la requête sql??
Quelle est la différence entre <th> et <td>??
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 15:25
il vaut mieux utiliser echo 'salut'; que echo "salut"; ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 janv. 2006 à 15:15
je crois que tout ce que j'ai dit était essentiel...
ton commentaire qui ne corespond pas à ce que tu fais... comment tu veux qu'on s'y retrouve ensuite...
les or die sont très importants car tu peux grace à ça voir ce qui se passe dans ton code...
les return... en php, procedure n'existe pas, mais si tu peux avoir une erreur, alors renvoi false en cas d'erreur et true en cas de succès... de plus, ici, tu pourrais renvoyer plusieurs choses : temps, nombre d'enregistrements...
Bon, pour les guillemets, ça montre ta confusion dans l'utilisation des " et des ' : tu les utilise de la même façon alors qu'elles n'ont pas les mêmes propriétées... les ' sont plus rapides et on n'échape pas les variables dans les "...
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009 2 janv. 2006 à 14:53
Merci pour ton aide, j'ai fait les modifications, j'ai pas tout pris en compte mais juste ce qui etait essentiel.
@+
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 janv. 2006 à 14:21
# //--- On vérifie si y a plusieurs enregistrements
# if (mysql_num_rows($rst) > 0){
plusieurs veut dire au moins deux...
# $rst = mysql_query($sql);
# if (!$rst){
# echo "Erreur :" . mysql_error() . "
";
tu devrais utiliser or die... ou or {echo mysql_error();return false; }
pour les noms des colones, tu devrais utilsier th au lieu de td...
tu devrais utiliser les " à la place des '...
un return true à la fin serait un plus, et un return false en cas d'échec de requette... ou alors, tu pourrais retourner le temps de requette sql...
Reste le code html à modifier, des " pour les attributs, des
à la palce des
... utiliser des css pour width...
Bon, sinon, pourquoi pas, je noterais quand tu auras le temps de faire toutes les modifications, car la le code est relativement crade...
2 janv. 2006 à 16:47
2 janv. 2006 à 16:43
2 janv. 2006 à 16:26
merci
2 janv. 2006 à 16:18
2 janv. 2006 à 16:03
Pour Coucou : TH signifie bien Table Header :)
Encore Coucou : Plus besoin de faire list($x, $y) explode(' ', microtime());
> microtime(true); // Tout simplement :)
Autrement, pour gérer les erreurs, tu peux utiliser les exceptions => throw new Exception('Message d\'erreur');
Et pour pouvoir les utiliser convenablement :
try {
afficherRequete2($req);
} catch (Exception $e) {
echo 'Erreur détectée : '.$e->getmessage();
}
C'est bien plus facile à utiliser plutot que de faire un renvoi de TRUE/FALSE pour une detection d'erreur (sauf si la fonction est simpliste).
Mais bon, c'est au choix :)
2 janv. 2006 à 15:57
2 janv. 2006 à 15:57
2 janv. 2006 à 15:53
# $rst = mysql_query($sql);
# if (!$rst){
# echo "Erreur :" . mysql_error() . "
";
tu devrais utiliser or die... ou or {echo mysql_error();return false; }
au final ça change rien, je test si la requete a échoué ou pas
si (requete échouée) alors
j'affiche le message d'erreur
sinon
je l'affiche
finsi
le or die est pratique c'est ce que j'utilise jusqu'a ce que j'apprenne ceci :)
@+ et merci pour votre aide
2 janv. 2006 à 15:52
th{
/*mon table header*/
}
et c'est par défaut centré et en gras...
Bon, sinon, un vulgaire bench pour le temps de requette sql...
list($usec, $sec) = explode(' ', microtime());
$start=$sec+$usec;
mysql_query($req) or die(mysql_error());
list($usec, $sec) = explode(' ', microtime());
$time=(int)(($sec+$usec-$start)*100000);
$time=(float)$time/100;
$time est en milisecondes...
2 janv. 2006 à 15:42
2 janv. 2006 à 15:39
<?php
$nom=toto;
echo"Salut $nom !!";
/*ou avec les '*/
echo'Salut '.$nom.' !!';
?>
Pour coucou747 :
Comment fais-tu pour renvoyer le temps d'exécution de la requête sql??
Quelle est la différence entre <th> et <td>??
2 janv. 2006 à 15:25
2 janv. 2006 à 15:15
ton commentaire qui ne corespond pas à ce que tu fais... comment tu veux qu'on s'y retrouve ensuite...
les or die sont très importants car tu peux grace à ça voir ce qui se passe dans ton code...
les return... en php, procedure n'existe pas, mais si tu peux avoir une erreur, alors renvoi false en cas d'erreur et true en cas de succès... de plus, ici, tu pourrais renvoyer plusieurs choses : temps, nombre d'enregistrements...
Bon, pour les guillemets, ça montre ta confusion dans l'utilisation des " et des ' : tu les utilise de la même façon alors qu'elles n'ont pas les mêmes propriétées... les ' sont plus rapides et on n'échape pas les variables dans les "...
2 janv. 2006 à 14:53
@+
2 janv. 2006 à 14:21
# if (mysql_num_rows($rst) > 0){
plusieurs veut dire au moins deux...
# $rst = mysql_query($sql);
# if (!$rst){
# echo "Erreur :" . mysql_error() . "
";
tu devrais utiliser or die... ou or {echo mysql_error();return false; }
pour les noms des colones, tu devrais utilsier th au lieu de td...
tu devrais utiliser les " à la place des '...
un return true à la fin serait un plus, et un return false en cas d'échec de requette... ou alors, tu pourrais retourner le temps de requette sql...
Reste le code html à modifier, des " pour les attributs, des
à la palce des
... utiliser des css pour width...
Bon, sinon, pourquoi pas, je noterais quand tu auras le temps de faire toutes les modifications, car la le code est relativement crade...