|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Bonjour à tous,
Je dispose d'une BDD avec 6 champs: t_vol; cycles1; cycles2; tempstotal; totalcycles1; totalcycles2. J'ai fait un formulaire afin d'inserer t_vol;cycles1; cycles2. je voudrais en fait récupérer les derniers champs de: tempstotal; totalcycles1; totalcycles2) et les additionner au données entrées du formulaire. soit prendre: t_vol + dernier id de temps total cycles1+ dernier id de totalcycles1 cycles2+ dernier id de totalcycles2 les bases je connais, calculer 2 variables, c'est ok, mais c'est récupérer la dernier ID de chaque champs. comment dois-je m'y prendre, quelle est la marche à suivre: dans mon brouillon j'en suis là: 1-récupérer les données du formulaire 2- les insérer dans la BDD 3- récupérer les derniers enregistrements (tempstotal.etc...) 4- additionner 5- les insérer dans la BDD Dois-je faire ça dans l'ordre ou je peux tout compiler dans une seule et même requête SQL? C'est un point que j'ai du mal à comprendre... Ensuite dans PHP admin, peut-on rentrer une requête permettant de le faire? Un peu brouillon je sais mais suis pas bien lâcher PHP. Merci de votre écoute |
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 706 ![]() |
Salut
Citation:
Un peu confus, car même "t_vol" comme nom de champ c'est assez moyen on va dire. Par convention on nommerait plutôt cette table "t_vol", et comme champ, "vol_id" si c'est la clé primaire par exemple (voir plus simplement "id"). On ne sait pas de quoi il s'agit, donc sous réserve, mais le fait qu'il y ait cycles1, cycles2, totalcycles1, totalcycles2, on remarque un phénomène de répétition. A moins que cela se justifie vraiment, théoriquement il ne faudrait pas faire ainsi, toujours théoriquement, il faudrait au moins 2 tables, dont 1 pour les différents cycles. De même que pour les temps/calculs, théoriquement ce n'est pas recommander d'enregistrer ces valeurs qui sont totalement dépendantes les unes des autres. Toujours théoriquement, il est recommander de les calculer dans les requêtes. Si pour X raison une des valeurs est modifiée et qu'il y a un oubli de réactualiser le ou les calculs enregistrés, tout le coté applicatif sera faussé (ça peu aller jusqu'au bug selon ce qui est fait avec ces valeurs calculées). M'enfin, tout ça reste purement théorique, on est d'accord Citation:
Code sql :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Bonjour,
Bon j'ai essayé quelques choses mais rien ne fonctionne, je ne demande pas un code mais seulement une piste sur ou j'ai pu me tromper, j'ai bien fait des recherches sur les messages d'erreurs mais je ne trouve pas. Code :
mes messages d'erreur: Citation:
Merci de votre aide. |
|||
|
|
00
|
|
|
#4 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
1 il faut proteger tes valeurs dans l'insert
2 il faut utiliser mysql_insert_id() 3 le nom de tes champs est différent dans la requete SELECT Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Bonjour,
Désolé de te décevoir, maéis j'ai essayer ton code mais ça ne fonctionne pas, j'ai toujours l'erreur de la ressource, je ne comprends pas d'ailleurs!!! il me dit que c'est une erreur de chaine de caratèrer hors je ne lui rentre que des chiffres, cela viendrait-il d'autres choses? Je comprends vite mais faut m'expliquer longtemps... Merci |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 706 ![]() |
Salut
Les problème de ressources sont liés à des erreurs (erreurs de nom, casse non respectées, non réservés, valeur non conforment,etc, etc ...). Mais pour trouver ce genre d'erreur il te faut faire un minimum de débuggage, sinon il est clair qu'on reste un peu "planter" là ne sachant pas quoi faire ... Exemple basique de débug : Code :
Par conséquent, si erreur il y a on devrait le constater. Si ça ne saute pas aux yeux on fait un copier/coller dans le forum. Il y a donc 3 fonctions à connaitre et à utiliser (sans modération) en cas de débug : echo, var_dump(), print_r(). Mettre un point d'arrêt dans le code (un exit()) peut dans certain cas être fort utile. Par exemple, en mettre un juste avant une insertion dans la Bdd pour éviter de polluer sa Bdd quand fait pleins d'essais comme ça en cherchant une erreur. En résumer, voilà des moyens simples et basiques pour te permettre de trouver toi même les erreurs, ou alors de recueillir des informations bien plus utiles à mettre sur un forum. Mais dire que "ça ne fonctionne pas", on est pas plus avancés, on est pas devins, vois tu.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
bonjour à tous,
j'ai donc tout repris depuis le début: mon but: créer une sorte de site afin que des gens ne connaissant rien au travail (et pour se faciliter la vie) puisse rentrer des données de vol d'avions! et moi à mon tour les exploiter et connaitre où l'avions en est: (et je n'ai trouver que ça parce que les gens sont plus à l'aise avec le net que access ou excel.... enfin bref) j'ai donc créer une base de données: fidas_bis une table: "t48" - id - ladate (date) - t_vol (temps de vol effectué) - c_gtr (cycles gtr) - c_apu (cycles apu) - ttvol (temps de vol total) - tc_gtr (cycles totals gtr) - tc_apu (cycles totals apu) donc mon but étant de rentrer juste le t_vol, le c_gtr et le c_apu dans un formulaire et d'avoir le total de toutes ses données afin de les exploiter à mon niveau. mon formulaire comporte: - un input type TEXT :"ladate" - un input type TEXT :"t_vol" - un input type TEXT :"c_gtr" - un input type TEXT :"c_apu" je peux donc consulter le vol a la date dite (ça je sais faire!!!!) mais aussi continuer à rentrer les données des vols suivant et suivant etc etc..... J'ai repris les cours et essayer de m'adapter à php et PDO. j'en suis là. J'ai retaper un peu le code et pour lever quelques ambiguités, j'ai décidé d'afficher d'abord les résultats avant, afin de voir si cela fonctionnait. Malheureusement je me retrouve avec un parse error à la ligne WHILE, j'ai fait des recherches mais je ne vois pas la solutions, pourriez vous m'indiquez ce que j'aurais pu oublier? Code :
|
||
|
|
00
|
|
|
#8 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 706 ![]() |
Code :
$reponse=$bdd->query('SELECT ttvol,tc_gtr,tc_apu FROM t48 ORDER BY id DESC LIMIT 1'); Code :
Corrige plutôt comme ceci : Code :
Du coup, s'il y a erreur coté PDO, tu seras jamais au courant de l'erreur. D'ailleurs, il y a 2 façons d'obtenir les éventuels erreurs : Soit sous forme d'Exception, alors PDO::ERRMODE_EXCEPTION Soit sous forme d'erreur, alors PDO::ERRMODE_WARNING (mais par défaut c'est PDO::ERRMODE_SILENT, aucune erreur de renvoyée). La gestion des exception demande une certaine pratique, et en général de la POO. Si tu ne sais pas trop, préfère les obtenir sous forme d'erreurs.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Bonjour RunCodePHP,
Trés trés bien ta réponse, cela venait bien de ça. Je te remercie, il est vrai que pour la connection a la BDD, je ne faisait que du copier coller, car tous les sites avec des exemples montres quasi le même code. J'ai donc changer 2 ou 3 petites choses et cela est concluant, il m'affiche bien tous mes résultats comme je le veux, ne manque plus donc que d'insérer le tout à la suite de la BDD. Merci encore à tous!!! Voici mon code: je sais qu'on peut faire plus simple, mais en ce qui me concerne pour le moment 'tant que ça fonctionne!!!!!!lol' (quand je serais plus doué, je le reprendrais!!!!) Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com