addition d'horaire

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 15:28

comment ça c'est incomplet ?
le SELECT est bien présent et l'UPDATE aussi
Jean-Mark

ViPHP
pjl
ViPHP | 2119 Messages

28 déc. 2005, 15:48

//calcul
$sql = "(SEC_TO_TIME(TIME_TO_SEC(". $duree .") + (TIME_TO_SEC(". $timepilot ."))))";
$res = mysql_query($sql);
echo "$sql";
Il n'y a pas de UPDATE dans la requête ici, d'ou ma remarque de tout à l'heure : prendre le temps de relire son code et de comprendre ce que fait chaque ligne.
C'est le seul moyen d'apprendre et de progresser.

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 16:02

Mais pourquoi y a t il besoin d'un UPDATE ? ce n'est qu'un calcul.
L'UPDATE se fait après:
// ajout du nombre d'heures dans la base pilotes
$secondes = "(TIME_TO_SEC($duree))"; // valeur du formulaire transformee en secondes
$rq =     "UPDATE pilotes ".
        "SET heures='($res)' ".
        "WHERE callsign='". $callsign ."'";
Jean-Mark

Mammouth du PHP | 19672 Messages

28 déc. 2005, 16:09

//calcul
$sql = "(SEC_TO_TIME(TIME_TO_SEC(". $duree .") + (TIME_TO_SEC(". $timepilot ."))))";
$res = mysql_query($sql);
echo "$sql";
Je reprends le même bout et j'ajoute des commentaires qui devraient t'éclairer davantage:
<?php
/* Création de la partie calcul de la requête */
$sql = "(SEC_TO_TIME(TIME_TO_SEC(". $duree .") + (TIME_TO_SEC(". $timepilot ."))))";
/* Exécution de la requête */
$res = mysql_query($sql);
/* Affichage de la requête générée */
echo "$sql";
?>
Lis bien les commentaire et dis-moi si tu ne trouve pas qu'il en manque des bouts (dans le code s'entend)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 16:15

la je pense que si je dis que je ne vois pas je vais me faire lincher... lol

Le résultat ? :oops: :?
Jean-Mark

Mammouth du PHP | 19672 Messages

28 déc. 2005, 16:18

On est mal barrés : je crois qu'il faut repartir à la base.
Peux=tu me dire à quoi doit ressembler une requête SQL complète ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 16:29

connection
selection ou mise à jour des infos
affichage du resultat
Jean-Mark

Mammouth du PHP | 19672 Messages

28 déc. 2005, 16:37

Oui, je comprends bien, mais ce n'est pas ma question :

Une requête SQL commence toujours par :
- SELECT ...
- INSERT ...
- DELETE ...
- UPDATE ...
Dans la requête que tu montres, il n'y a rien de tout ça : Tu envoies directement un extrait de requête... qui ne peut pas être exécuté. Est-ce que tu saisis la nature du problème ou tu ne vois pas du tout ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 17:01

Oui, je pense avoir compris.

Ma requete doit donc plus ressembler à cela ?:
//calcul
$sql = "SELECT (SEC_TO_TIME(TIME_TO_SEC(". $duree .") + (TIME_TO_SEC(". $timepilot['heures']."))))";
$res = mysql_query($sql);
echo "$sql";
Jean-Mark

Mammouth du PHP | 19672 Messages

28 déc. 2005, 17:04

Voilà, on progresse. Mais malgré ça, ta requête commence par SELECT : il manque quand même un autre élément (obligatoire) : lequel selon toi et pourquoi ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 17:18

or die ("la requete ne peut etre execetuée")?
Jean-Mark

Mammouth du PHP | 19672 Messages

28 déc. 2005, 17:59

non, dans la requête elle-même : Il te manque l'origine des données : tu ne les récupères pas au hasard je suppose. Donc...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 41 Messages

28 déc. 2005, 18:06

je les ai déja recupere mes données
//récupération de la valeur temps deja effectuée
$heures = "SELECT heures FROM pilotes WHERE callsign IN ('$callsign')";
$result = mysql_query($heures);
while ($timepilot = mysql_fetch_array($result, MYSQL_NUM));

{
echo $timepilot['heures'];
}
et $duree = "la valeur dans le formulaire"
Jean-Mark

Mammouth du PHP | 19672 Messages

28 déc. 2005, 18:08

Non, il y a un truc que tu ne comprends visiblement pas: dans le bout de code illustré plus haut, tu n'as qu'un bout de requête: en soi, ce n'est pas un problème, mais juste après, tu utilises mysql_query() : ça ne peut retourner qu'une erreur.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
pjl
ViPHP | 2119 Messages

28 déc. 2005, 18:11

- SELECT ...sélectionner / afficher
- INSERT ... insérer
- DELETE ... suprimer
- UPDATE ... mettre à jour

C'est plus clair comme ca ?

Tiens juste un exemple de requete à tester :

Code : Tout sélectionner

SELECT 1 +1