Passarinho44 conseil

Résolu/Fermé
sniper - 2 févr. 2009 à 16:14
 s_sniper - 11 févr. 2009 à 15:19
Bonjour,


Si t'est par la fait moi signe ! merci d'avance

71 réponses

Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
2 févr. 2009 à 16:28
Je suis là ^^
0
Alors voila je t'explique le plus clairement possible.

Alors voila on a les tickets. et sur chaque ticket on a une ou plusieur intervention.

La table intervention est donc composé de 2 champ ( numerointervention et (numeroticket de la table ticket))
J'ai toujour mon tableau lestickets je clique sur le lien modifier j'ai tous les element concernant un ticket.

En dessous de sa j'ai crée un tableau qui la, va concerné la ou les interventions qu'a subit ce ticket.

Enfette je voudrais savoir comment dans le code a chaque fois que j'aurais numeroticket comment il va toujour se reporté au numero ticket de la table TICKET?

Est ce que mon champ NUMERO Ticket dans la table intervention qui correspond a la table ticket ne pose pas des probleme.

Voila c'est un peu compliqué a expliqué, j'espere que tu comprendra un peu. en tous cas je suis la pour toutes t'est question.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
2 févr. 2009 à 16:42
Je crois que j'ai compris ce que tu veux.

La première question que je vais te poser : est ce que numeroticket de la table intervention est bien une clé étrangère de NumeroTicket de la table t_ticket?

Si ce n'est pas le cas, ça serait bien que ça le devienne.

Par contre pour ce que tu veux faire, ce n'est pas obligatoire de le faire car tu n'aura pas besoin de jointure dans ta requete.

Il te suffit de faire, dans la page de modification de ticket, une deuxième requete, genre :
"SELECT * FROM t_intervention WHERE NumeroTicket = '" . $_GET['ticket'] . "'";

Et tu remplis ton tableau avec les résultats de cette requete.

Le $_GET['ticket'] est le même que tu utilises dans ta requête pour remplir les champs du formulaire des informations du ticket.

C'est bon?
0
Ba oui normalement sa doit etre une clé etrangere mais il ne peut pas etre clé etrangere et faire partie d'une clé primaire c'est pas possible sa normalement. ( parcque mon mode de fonctionnement c'est : on arrive a determiné tous les autres champ d'une intervention grace au numero de l'intervention et aussi grace au numero du ticket) ( tu vois ce que je veux dire)

Sinon :

J'ai testé avec la requete mais sa ne m'affiche rien voila mon code comment je l'aie mis :

?>
<form method="POST" action="?page=5">
<fieldset id="fieldset_Intervention" style="width: 700px;">
<legend><h4>Gestion des Interventions</h4></legend>  
<table border="1"><tr>
&nbsp;<th>Numero Intervention</th>
<th>Numero Ticket</th>
<th>Date Intervention</th>
<th>Heure Intervention</th>
<th>Observation Intervention</th>
<th>Mode Intervention</th>
<th>Trigramme Operateur</th>
<th>Montant Materiel</th>
<th>Frais De Deplacement</th>
<th>Mode Facturation</th>
<th>Commentaire Interne</th>
<th>Modifier</th>
<th>Supprimer</th>

</tr>


<?php
$retour = mysql_query('SELECT * FROM tb_intervention ORDER BY NumeroIntervention ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

$req = mysql_query("SELECT * FROM tb_ticket WHERE NumeroTicket = '" . $_GET['ticket'] . "'");

{
?>

<tr>

<td><?php echo $donnees['NumeroIntervention']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['DateIntervention']; ?></td>
<td><?php echo $donnees['HeureIntervention']; ?></td>
<td><?php echo $donnees['ObservationIntervention']; ?></td>
<td><?php echo $donnees['ModeIntervention']; ?></td>
<td><?php echo $donnees['TrigrammeOperateur']; ?></td>
<td><?php echo $donnees['MontantMateriel']; ?></td>
<td><?php echo $donnees['FraisDeDeplacement']; ?></td>
<td><?php echo $donnees['ModeFacturation']; ?></td>
<td><?php echo $donnees['CommentaireInterne']; ?></td>
<td><a href="?page=5&ticket=<?php echo $donnees['NumeroIntervention'];?>&NumeroTicket=<?php echo $donnees['NumeroTicket']; ?>">Modifier</a></td> 


<?php
echo "<td><input type='checkbox' name='suppr_".$donnees["NumeroIntervention"]."_".$donnees["NumeroTicket"]."'/></td>";
?>


<?php
} // Fin de la boucle
?>

</table>

<P align=left></p>
      
<center><input name="suppression" type=submit value="Supprimer"></center><br><br>
</fieldset> 
</form>
<p align="center"><a href="index.php?erreur=logout"><strong>Vous déconnecter</strong></a></p>
<?php
0
sniper > sniper
2 févr. 2009 à 17:01
C'est bon la le numero du ticket se repertorie bien dans mon tableau des interventions.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132 > sniper
2 févr. 2009 à 17:08
Oui j'ai compris au niveau des clés primaires / étrangères

Cependant je sais qu'il est possible qu'une clé primaire soit aussi clé étrangère (bien que je ne sais plus comment, je sais qu'un prof nous avait fait un p'tit bidouillage ^^)

Pour ton code il y a une erreur :
<?php
$retour = mysql_query('SELECT * FROM tb_intervention ORDER BY NumeroIntervention ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

$req = mysql_query("SELECT * FROM tb_ticket WHERE NumeroTicket = '" . $_GET['ticket'] . "'");

{
?>


Ce n'est pas comme ça qu'on affiche les résultats que tu veux ^^

Là tu affiches tout les résultats de ta table intervention et tu fais en même temps une autre requete dont tu ne récupères pas le résultat .. Plutôt bizarre ^^

Essaie plutôt quelque chose du genre ...

<?php
$retour = mysql_query('SELECT * FROM tb_intervention WHERE NumeroTicket = '" . $_GET['ticket'] . "'" ORDER BY NumeroIntervention ASC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>





et rajoute un petit : </tr> avant ton :

<?php
} // Fin de la boucle
?>


Ca te permettra de bien finir la ligne de ton tableau à chaque boucle ...
0
sniper > Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012
2 févr. 2009 à 17:18
Sa marchais le numero du ticket s'affichait bien dans le tableau des intervention en fonction du ticket a modifier .

J'ai remplacé par se que tu ma di et il me di k il y a une erreur a cette ligne :

$retour = mysql_query('SELECT * FROM tb_intervention WHERE NumeroTicket = '" . $_GET['NumeroTicket'] . "'" ORDER BY NumeroIntervention ASC');


Ps : j renplacé $_GET['ticket'] par $_GET['NumeroTicket'] car c'est le numero qu'on souhaite recuperé en fesant [ticket] on recupere l'index.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
2 févr. 2009 à 17:27
Bon en fait j'avais mal compris ...

Tu as donc 3tables ?

Une table ticket avec les infos du ticket
Une table intervention avec toutes les infos sur toutes les interventions
Une table intervention(ou je ne sais pas quel nom ^^ ) où tu as juste le num de l'intervention et le num du ticket

C'est ça?
0
non non lool

J'en ai plusieur de table mais ici j'ai une table ticket avec les infos du ticket et une table intervention avec les infos de l'intervention voila c 'est tout.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
2 févr. 2009 à 17:41
OK et donc dans intervention tu as bien un champs NumeroTicket ?

Tu peux me copier le lien dans le navigateur stp?

Sinon pour l'erreur de taleur c'était une erreur de guillemet ^^

Remplace par ça :

$retour = mysql_query("SELECT * FROM tb_intervention WHERE NumeroTicket = '" . $_GET['NumeroTicket'] . "'" ORDER BY NumeroIntervention ASC");
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
je dois y allé

Peut etre a demain si t'est par la

merci beaucoup pour les conseil que tu m'apporte

bonne soiré !!

;-)
0
re ^^
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 09:27
re ^^

Tu as essayé cette requete ?
$retour = mysql_query("SELECT * FROM tb_intervention WHERE NumeroTicket = '" . $_GET['NumeroTicket'] . "'" ORDER BY NumeroIntervention ASC");

Mais par contre je te conseillerais d'enlever la clé primaire sur le numéro du ticket dans la table intervention et de mettre à la place une clé étrangère sur la table ticket.

Ca te permettra par exemple (grace à la clause : ON DELETE CASCADE ) de pouvoir, en supprimant un ticket, supprimer toutes les interventions liées à ce ticket.
Ca te permettra également de joindre ces deux tables dans des requetes (pour faire des statistiques par exemple )
0
oui ok mais je le met comment la clé etrangere dans mysql ?

et ta requete elle me met pas d'erreur pour le moment, mais faut que je crée une intervention pour voir ce que sa donne c'est ce que j'ai fait : je voulais te demander comment je reperterie le numero ticket dans mon inserction d'une intervention. ( car je n'aurais pas besoin de le resaisir) j'ai fait sa :

$NumeroTicket = $_GET['NumeroTicket'];
$DateIntervention = $_POST['DateIntervention'];
$HeureIntervention = $_POST['HeureIntervention'];
etc

j'ai mi le numero intervention en auto incremente, j'aimerais bien que lorsque on crée une intervention dans un ticket le numero intervention peut etre rataché a plusieur ticket sachant qu'il est incrementé ca peut pas etre possible sa ?

ex Tickét A1 = 1(intervention)
= 2(intervention)

Ticket A2 = 1(intervention)
=2 ( intervention)

tu vois ce que je veux dire enfette sa revient pas a 3 quand je créer une autre intervention dans un autre ticket sa reviend toujour a "1"( numerointervention).
Je pensse que la c'est pourquoi la clé primaire NumeroTicket est importante ?

Qu'est que t'en pensse ?
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 10:09
Ah ben ça change tout ça ^^

Tu as déjà fait un MCD?

C'est un peu long à expliquer si tu ne connais pas mais le résultat est que :

Si tu veux pouvoir mettre une ou plusieurs intervention à un seul ticket et que tu veux aussi pouvoir mettre un ou plusieurs ticket sur une intervention ... Il te faut une autre table ...

Dans cette autre table tu auras juste 2champs : NumeroIntervention (clé étrangère du numéro de l'intervention) et NumeroTicket(clé étrangère du ticket)

Et quand tu entres une intervention, tu entres les infos dans la table intervention et dans la table que j'ai expliqué au dessus (on va dire qu'elle s'appelle T_Associer : ce type de table sert à associer deux tables ^^ ) tu mettra dans NumeroIntervention, Le numéro de l'intervention qui va être créé (pour ça il faudra que tu executes la requete d'ajout d'une intervention, ensuite tu récupère l'ID qui a été créé en auto-incrément avec une requete SELECT et tu mets cet ID dans la table T_Associer) et dans NumeroTicket, tu met le numéro du ticket auquel cette intervention est associée.
Si tu as plusieurs tickets, tu mettra dans cette table T_Associer plusieurs ajout, avec le même NumeroIntervention et des NumeroTicket différents.

Bon c'est pas très clair tout ça je sais mais c'est une grosse partie à expliquer donc c'est pas évident ... :s


Sinon pour mettre une clé étrangère dans MySQL j'avoue que par l'interface je ne sais pas trop ...
Mais je connais la requete ^^
Par exemple pour mettre la clé étrangère du numéro ticket de la table T_Associer sur celui de la table ticket il faudrait que tu fasse du genre :

ALTER TABLE T_Associer ADD (
CONSTRAINT FK_T_Associer_T_Ticket FOREIGN KEY (T_Associer.NumeroTicket) REFERENCES T_Ticket (NumeroTicket) ON DELETE CASCADE
);


Voilà j'espère que ça va t'aider ^^
0
Oui le MCD est fait ( mais en fonction que j'avance dans mon appli le mcd ce modifie^^): dans ton explication quelque chose t'a echappé.

Comme tu la si bien di un ticket correspond a 1 ou plusieur intervention MAIS une intervention correspond a 1 et 1 seul ticket.

Peut etre que sa change encore ton résonnement.
Et pour ton idée j'ai compri ce que tu veux dire mais je t'avoue pas tous ^^
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 10:36
Tu as fait le MCD à la main ou avec un logiciel?

Tu as dit
" le numero intervention peut etre rataché a plusieur ticket ", je pensais donc qu'une intervention pouvait avoir rapport à plusieurs tickets désolé j'avais mal compris ^^

Oui ça simplifie fortement mon raisonnement ^^
Dans ce cas là il te suffit de mettre une clé étrangère du numéro ticket de la table intervention sur la table ticket et le tour est joué ! (mais il ne faut pas que ce NumeroTicket de ta table T_Intervention soit auto-incrémenté, par contre la clé primaire NumeroIntervention de la table Intervention peut l'être).

Lorsque tu entres une intervention, tu met le numéro du ticket qui correspond.
Lorsque tu entres une deuxième intervention qui concerne le même ticket, ben tu met le même numéro de ticket ^^

Après avec une jointure tu pourra retrouver toutes les interventions liées à un ticket.

C'est ce que tu veux?
0
Oui on y est presque lool!

Alors le mcd avec le logiciel power AMC je l'est fait....

Tout ce que ta dis je l'est fait c 'est a dire : ma table tb_intervention contient tous les champ avec Numero intervention qui est auto incrémenté et numero ticket qui est normal mais numero ticket est toujour en clé primaire comment le modifier en clé etrangere ici dans la table ?

Tu m a di ensuite que lorsque je rentre une intervention je rentre le numero du ticket mais il ne doit pas se mettre automatiquement ? normalement ?

Enfette je t'explique tu sais mon tableau ou je j'ai ma page lesticket, on a créer ensenble le lien modifier sur chaque ticket, ok , sur ce lien quand tu clique dessus, tarrive sur un formulaire avec tous les champ du ticket et en dessous de sa j 'ai rajouté un lien " creer une intervention (lorsque tu clique tu saisi les champ demandée tu envoie sa s'envoie dans la base de donnée)

En dessous de ce lien se trouve un autre tableau identique au tableu les ticket mais ici represente toutes les intervention du ticket choisis ( plus j'ai di que j'ai cliquer sur modifier de la page lesticket) .

Voila comment doit se presenté tous sa! j'y suis presque mais des bugue.
Au niveau de numero ticket lool et de la création d'une nouvelle intervention. bref sa bugue un peu de partout concernant "les interventions" c'est pourquoi j'espere que ici tu va m'aider lol car j'ai autant besoin de toi que pour la modif du form!!! ^^
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 11:07
Alors pour enlever la clé primaire, tu as un bouton radio a décoché dans phpmyadmin (enfin tu coches le dernier du coup je crois)

Ensuite tu adaptes la requete que je t'ai mis au dessus pour la clé étrangère.

Ensuite, pour ta question, non on ne peut pas le mettre automatiquement, il faut bien à un moment de l'ajout que tu dises à l'intervention : c'est à ce ticket là que tu correspond ! ^^ (oui tu parles au interventions ;p )

C'est donc en donnant le numero du ticket ( tu le récupères comme tu l'avais fait pour la formulaire de modification du ticket ) et dans ta requete tu met INSERT INTO tb_intervention ( dateIntervention, ... , NumeroTicket) VALUES ( $dateIntervention, .... , $_GET[NumeroTicket'] )
ATTENTION, il faut bien que dans le lien de la page ou tu ajoutes l'intervention, tu te débrouilles pour avoir le numéro de ticket (tu le gardes dans tes liens ou avec le input type="hidden" que je t'ai déjà montré je crois )

Enfin, pour ton tableau, la requete SELECT que je t'ai donné plus haut devrait fonctionner, une fois que tu auras mis ta clé étrangère (si tu enlèves les erreurs de guillemet ^^ )
0
Oui mais tu sais quand je clique sur modifier le ticket je recupere deja le numero tu ticket, et c'est dans cette page que j'ai le lien nouvelle intervention donc il y a une possibilité de metre numero ticket dans le form d'ajout par un$NumeroTicket = $_GET['NumeroTicket']; .

Et la requete j'ai essayé elle marche mais avec des bugue j'ai corrigé les faute de guillemet mais toujour des probleme aparament:

<?php
$retour = mysql_query("SELECT * FROM tb_intervention WHERE NumeroTicket = '" . $_GET['NumeroTicket'] . "' ORDER BY NumeroIntervention ASC");
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 11:27
Pour ton lien vers le formulaire d'ajout d'une intervention, il suffit de mettre :

<a href="Principale.php?page=x&NumeroTicket=<?php echo $_GET['Numero_Ticket'] ?>

Comme ça tu pourras récupérer ce numéro toujours avec le $_GET['NumeroTicket'] dans ta page de ton formulaire d'ajout d'intervention.


Pour ta requete :
Tu as essayer de faire un echo de la requete et de l'executée dans phpmyadmin?

Tu verras l'erreur parce que à prioris moi je n'en vois pas ...
0
Je n'arrive pas a créer cette clé etrangere :
j'ai supprimer NumeroTicket j'en ai reecréer un autre
je suis allé dsn sql j'ai mis sa

ALTER TABLE tb_intervention 
(NumeroTicket INT NOT NULL,   
FOREIGN KEY(NumeroTicket) REFERENCES tb_ticket(NumeroTicket) ON DELETE CASCADE) 
TYPE=INNODB


Mais sa ne veux pas marché aurais tu une idée de l'erreur ?
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 11:55
Crée simplement ton champs NumeroTicket sans rien mettre dessus au début.

Après tu executes cette requete :

ALTER TABLE tb_intervention ADD (
CONSTRAINT FK_tb_intrvention_tb_ticket FOREIGN KEY (tb_intervention.NumeroTicket) REFERENCES tb_ticket (NumeroTicket) ON DELETE CASCADE
);

Ca devrait mieux marcher.

Ta requete est bizarre ^^
Tu met un ALTER TABLE mais tu ne mets pas si tu fais un ADD, un MODIFY, un DROP, ...
Ensuite pour mettre une contrainte tu n'a pas à spécifier le type du champ, ça tu le fais au moment de la création.
0
Oui c'est vrai j'ai oublié le Add effectivement mais sa ne marche toujour pas!!! :-(((
0
sniper > sniper
3 févr. 2009 à 12:02
Il me met sa comme erreur mais je vois pas du tout


#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.NumeroTicket) REFERENCES tb_ticket (NumeroTicket) ON DELETE CASCADE )' at line 2
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 12:05
Excuse moi je me suis trompé :s

Essaie plutôt comme ça ...

ALTER TABLE tb_intervention ADD (
CONSTRAINT FK_tb_intrvention_tb_ticket FOREIGN KEY (NumeroTicket) REFERENCES tb_ticket (NumeroTicket) ON DELETE CASCADE
);
0
Oui c'est bon sa a marché merci beaucoup !!

On continue ? ^^
0
On continue cette aprem midi si t'est par la !
si tu peux pas c'est pas grave ta fait deja beaucoup et je te remercie beaucoup !!

peut etre a toute bonne ap!! ^^
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 12:18
Oui ^^
Essaie de faire ton lien vers la page d'ajout d'une intervention comme je t'ai dit :
<a href="Principale.php?page=x&NumeroTicket=<?php echo $_GET['Numero_Ticket'] ?>


Ensuite

Pour l'ajout esaie de faire une requete du genre :
INSERT INTO tb_intervention ( dateIntervention, ... , NumeroTicket) VALUES ( $dateIntervention, .... , $_GET[NumeroTicket'] )

Ou alors tu préfères qu'on commence par le tableau des intervention? ^^
0
Au mais tu sais le tableau des intervention et l'ajout tous sa sa été fait depuis hier toi tu va juste m'aidé a reglé mes bugue c'est tout si tu le veux bien.

Alors on commence par l'ajout :
<?php
require_once('connexion.php');


$DateIntervention = $_POST['DateIntervention'];
$HeureIntervention = $_POST['HeureIntervention'];
$ObservationIntervention = $_POST['ObservationIntervention'];
$ModeIntervention = $_POST['ModeIntervention'];
$TrigrammeOperateur = $_POST['TrigrammeOperateur'];
$MontantMateriel = $_POST['MontantMateriel'];
$FraisDeDeplacement  = $_POST['FraisDeDeplacement'];
$ModeFacturation = $_POST['ModeFacturation'];
$CommentaireInterne = $_POST['CommentaireInterne'];


$sql =  "INSERT INTO `hotlinecc`.`tb_intervention`(`NumeroTicket`,`DateIntervention`,`HeureIntervention`,`ObservationIntervention`, `ModeIntervention`, `TrigrammeOperateur`, `MontantMateriel`, `FraisDeDeplacement`, `ModeFacturation`, `CommentaireInterne`)
 VALUES($_GET['NumeroTicket'],'$DateIntervention','$HeureIntervention','$ObservationIntervention','$ModeIntervention','$TrigrammeOperateur','$MontantMateriel','$FraisDeDeplacement','$ModeFacturation','$CommentaireInterne')";
$res = mysql_query($sql);
if ($res) {
	print '<script language="javascript"> 
alert("Votre intervention à bien été pris en compte"); 
location.href = "Principal.php?page=5"; 
</script>'; 
} else {
	echo "Erreur !!";
}


?>



j'ai mon premier bugue qui est la:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in F:\Program Files\wamp\www\test\pages\Intervention.php on line 18

c'est cette ligne :
$sql =  "INSERT INTO `hotlinecc`.`tb_intervention`(`NumeroTicket`,`DateIntervention`,`HeureIntervention`,`ObservationIntervention`, `ModeIntervention`, `TrigrammeOperateur`, `MontantMateriel`, `FraisDeDeplacement`, `ModeFacturation`, `CommentaireInterne`)
 VALUES($_GET['NumeroTicket'],'$DateIntervention','$HeureIntervention','$ObservationIntervention','$ModeIntervention','$TrigrammeOperateur','$MontantMateriel','$FraisDeDeplacement','$ModeFacturation','$CommentaireInterne')";
$res = mysql_query($sql);
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 14:19
Bon alors je vais te poser une première question : tu utilises quoi comme outils pour développer en PHP?

Ensuite, remplace les deux lignes que tu m'a mises par :

$sql = "INSERT INTO `hotlinecc`.`tb_intervention`(`NumeroTicket`,`DateIntervention`,`HeureIntervention`,`ObservationIntervention`, `ModeIntervention`, `TrigrammeOperateur`, `MontantMateriel`, `FraisDeDeplacement`, `ModeFacturation`, `CommentaireInterne`)
VALUES('" . $_GET['NumeroTicket'] . "','$DateIntervention','$HeureIntervention','$ObservationIntervention','$ModeIntervention','$TrigrammeOperateur','$MontantMateriel','$FraisDeDeplacement','$ModeFacturation','$CommentaireInterne')";
$res = mysql_query($sql);

Le problème c'était les quotes de ton $_GET['NumeroTicket'] qui se mélangeaient avec celles de ta requete ...


Erreur suivante ? :p
0
Je developpe soit avec pspad soit notpad ++ la c'est avec notpad ++


Merci le ticket s'envoi bien mais j'ai plusieur probleme :
dans le dans le tableau intervention dans la colonne numeroticket sa m'affiche 0 tous le temps.

Autre question toujour dans ce tableau dans le champ numeroIntervention j'ai bien les chiffre il s'incremente bien mais il on commencé a 9 enfin tous la heur j en est créer je les est supprime il ne figure plus dans la base de donnée donc automatiquement le premier que je creer doit bien se mettre a 1 et non pas a 9.

Page "modification.php"

<?php
$retour = mysql_query("SELECT * FROM tb_intervention WHERE NumeroTicket = '" . $_GET['NumeroTicket'] . "' ORDER BY NumeroIntervention ASC");
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats

{
?>
<tr>

<td><?php echo $donnees['NumeroIntervention']; ?></td>
<td><?php echo $donnees['NumeroTicket']; ?></td>
<td><?php echo $donnees['DateIntervention']; ?></td>
<td><?php echo $donnees['HeureIntervention']; ?></td>
<td><?php echo $donnees['ObservationIntervention']; ?></td>
<td><?php echo $donnees['ModeIntervention']; ?></td>
<td><?php echo $donnees['TrigrammeOperateur']; ?></td>
<td><?php echo $donnees['MontantMateriel']; ?></td>
<td><?php echo $donnees['FraisDeDeplacement']; ?></td>
<td><?php echo $donnees['ModeFacturation']; ?></td>
<td><?php echo $donnees['CommentaireInterne']; ?></td>
<td><a href="?page=5&ticket=<?php echo $donnees['NumeroIntervention'];?>&NumeroTicket=<?php echo $_GET['NumeroTicket'] ?>">Modifier</a></td> 


<?php
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132 > sniper
3 févr. 2009 à 14:42
MySQL n'est pas aussi intelligent que tu penses ^^

Quand tu crées une première intervention, il met 1 dans ta valeur et passe l'incrément à 2.
Et même si tu supprimes le 1er, l'incrément restera à 2 et quand tu vas en créer un nouveau, il mettra 2 et non pas 1.

C'est pourquoi tu as 9 et pas 1, c'est normal.

Pour l'histoire du 0, j'avoue que je ne comprends pas trop ... :s Essaie de remplacer ton
$donnees['NumeroTicket'];

Par :
$_GET['NumeroTicket'];


Enfin, pour notepad++ , c'est bien pour commencer mais si tu veux te faciliter la vie, je te conseille "eclipse for PHP".
C'est ce que j'utilise et il t'indique les erreurs de guillemet et autres, il te permet de trouver toutes les fonctions PHP, etc
Bref poru résoudre des petits problèmes c'est bien plus simple ! =)
Moi c'est ce que j'utilise au boulot et chez moi, c'est pour ça que tes problèmes de guillemet je les trouve rapidement ^^
0
sniper > Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012
3 févr. 2009 à 14:47
okok merci oué pour le $_GET J'avai deja essayé et sa me met un message d'erreur :

Notice: Undefined index: NumeroTicket in F:\Program Files\wamp\www\test\pages\Modification.php on line 128

Dans ce message je comprend pas pourquoi il me parle de de index ? la ligne 128 est la suivante :

<td><?php echo $_GET['NumeroTicket']; ?></td>
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 14:53
Il te parle de index parce que 'NumeroTicket' est l'index dans le tableau $_GET[].

En gros il t'explique qu'il ne trouve pas NumeroTicket dans l'url ...
Tu peux me montrer le lien dans la barre d'adresse?

Tu as vérifier dans la base que NumeroTicket a bien été inséré avec une bonne valeur?
Je pense qu'au niveau de l'ajout, il y a eu un problème avec le $_GET['NumeroTicket'] ...

Tu peux me montrer tout le formulaire d'ajout et l'adresse dans la barre d'adresse quand tu arrives sur la page d'ajout d'une intervention stp.
0
okok je te passe tous sa :

Effectivement au niveau de l'url de ajout une intervention il y a un probleme lol :

http://localhost/test/Principal.php?page=14&NumeroTicket=<br%20/><b>Notice</b>:%20%20Undefined%20index:%20%20Numero_Ticket%20in%20<b>F:\Program%20Files\wamp\www\test\pages\Modification.php</b>%20on%20line%20<b>76</b><br%20/>

et Ma page NouvelleIntervention :
<center> 
<h2>Formulaire d'une nouvelle intervention</h2> 
<form action="?page=15&ticket" method="POST">
<form action="Principal.php?page=15&ticket=<?php echo $donnees['NumeroTicket'];?>" method="POST"> 
<fieldset id="fieldset_creer_client" style="width: 700px;"> 
<legend><h4>Nouvelle intervention</h4></legend> 
<table> 
<tr> 
<td align="right">Date de l'intervention : </td> 
<td><input type="text" id="DateIntervention " name="DateIntervention"/></td> 
</tr>
<tr> 
<td align="right">Heure de l'intervention : </td> 
<td><input type="text" id="HeureIntervention" name="HeureIntervention"/></td> 
</tr>  
<tr> 
<td align="right">Observation de l'intervention: </td> 
<td><textarea id="ObservationIntervention" name="ObservationIntervention" cols="30" rows="4"></textarea></td>
</tr> 
<tr> 
<td align="right">Mode de l'intervention: </td> 
<td><input type="text" id="ModeIntervention" name="ModeIntervention"/></td> 
</tr> 
<tr> 
<td align="right">L'operateur de l'intervention : </td> 
<td><input type="text" id="TrigrammeOperateur" name="TrigrammeOperateur" value="<?php echo $_SESSION['TrigrammeOperateur']; ?>" /></td>
</tr> 
<tr> 
<tr> 
<td align="right">Montant du materiel : </td> 
<td><input type="text" id="MontantMateriel " name="MontantMateriel " /></td> 
</tr> 
<tr> 
<td align="right">Frais de déplacement : </td> 
<td><input type="text" id="FraisDeDeplacement " name="FraisDeDeplacement" /></td> 
</tr> 
<tr> 
<tr> 
<td align="right">Mode de facturation : </td> 
<td><input type="text" id="ModeFacturation " name="ModeFacturation" /></td> 
</tr> 
<tr> 
<tr> 
<td align="right">Commentaire Interne: </td> 
<td><textarea type="text" id="CommentaireInterne " name="CommentaireInterne" cols="30" rows="4"></textarea></td> 
</tr> 
<tr> 
<td colspan="2" align="center"><input type="submit" value="Valider le nouveau la nouvelle intervention"></td> 
</tr>  
</table> 
</fieldset> 
</form> 
</center>  
0
sniper > sniper
3 févr. 2009 à 15:08
Desolé j oublié de supprimer cette ligne n'en pren pas compte :

<form action="?page=15&ticket" method="POST">
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 15:12
Bon alors revoie le lien pour aller à nouvelle intervention
C'est quoi ce lien?

Parce que là le message d'erreur indique que l'index NumeroTicket est indéfini donc soit ton $_GET['NumeroTicket'] soit ton $donnees['NumeroTicket'] est indéfini dans ton lien vers la page d'ajout.

Montre moi le lien vers cette page ^^

Et si c'est un $_GET['NumeroTicket'] qu'il y a dedans, je veux bien l'url de la page où est ce lien ^^
0
voila le lien :

Pour creer une nouvelle intervention<a href="Principal.php?page=14&NumeroTicket=<?php echo $_GET['NumeroTicket']?>">cliquer ici</a>



ET voici le lien de la page ou est le lien :

http://localhost/test/Principal.php?page=5&ticket=A&NumeroTicket=1
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
3 févr. 2009 à 15:26
Ben c'est bizarre, le $_GET['NumeroTicket'] existe bien ...
essaie de le remplacer par ça : (même si je ne crois pas que ça va changer quelque chose :s )

Pour creer une nouvelle intervention<a href="Principal.php?page=14&NumeroTicket=<?php echo $_GET['NumeroTicket']; ?>">cliquer ici</a>

Et si tu n'as plus d'erreur dans le lien de la barre d'adresse où tu arriveras après avoir cliqué sur le lien, essaie d'ajouter une nouvelle intervention.
0
oué alors il y a 2 cas de figure :

Le premier s'est lorsque je clique sur le bouton modifier de ma page 'lestickets"
Sa mouvre donc 2 form le formulaire de modification et le tableau des intervention entre cest deux form on retrouve le lien pour créer une intervention (il faut savoir que lorsque je fait cette action aucune intervention n'est repertorier dans le tableau intervention bien qu'il est des intervention enregistré,) fonctionne il me donne sa :
http://localhost/test/Principal.php?page=14&NumeroTicket=1</code> 


Donc la je me dit c'est bon le retrouve bien le numero du ticket je peux crée une intervention je clique je rempli le formulaire du nouvelle intervention je valide et la sa me renvoi sur la page ou ya les tableau des intervention avec l'affichage de toutes les interventions de la table( ce qui ne s'affichai pas auparavant, comme je te les di précedament) et avec le message d'erreur dans la colonne de numero ticket et la par contre le lien "nouvelle intervention " sa me met sa :
http://localhost/test/Principal.php?page=14&NumeroTicket=<br%20/><b>Notice</b>:%20Undefined%20index NumeroTicket%20in%20<b>F:\Program%20Files\wamp\www\test\pages\Modification.php</b>%20on%20line%20<b>76</b><br>
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132 > sniper
3 févr. 2009 à 16:02
OK bon alors tu as le gros problème que je craignais ... :s

Alors maintenant, au début de chaque page ou tu as un $_GET['NumeroTicket']

Tu vas mettre :

if ( isset($_GET['NumeroTicket']) ) {
$NumeroTicket = $_GET['NumeroTicket'];
} else {
$NumeroTicket = "";
}

Et tu remplaces tous tes $_GET['NumeroTicket'] par des $NumeroTicket
/!\ATTENTION/!\ Quand tu récupères tes donnees avec $donnees['NumeroTicket'], ne le met pas dans la variable $NumeroTicket ! ! ! Trouve un autre nom pour ta variable ^^

En fait il faut que tu fasses ce système pour toutes les variables que tu récupères en $_GET !

Mais bon, ça ne résoudra pas les problèmes, ça évitera juste qu'ils s'affichent ^^

Pour résoudre tes problèmes ...

Tous tes problèmes de liens foutent le bordel dans ta base en fait je pense ...

Déjà, quand tu crées une intervention, quand tu envoies le formulaires, il faut que tu arrives à ce que ça te renvoie sur la page que tu veux mais en gardant le numéro du ticket dans la barre d'adresse

(par exemple en le spécifiant dans le action= de ton form)

Ensuite pour le problème que les interventions du ticket ne s'affichent pas, vérifie dans ta base que le NumeroTicket du tb_intervention correspond bien au NumeroTicket de tb_ticket ...
0
sniper > Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012
3 févr. 2009 à 16:16
lool ou lala sa se complique la !!!

Alors dans ma base nan justement il rentre aucun numero ticket dans numero ticket de la table intervention c'est sa qui fait le blocus sur les autres.

En refléchissant je pensse a sa : sachant que quand je clique sur modifier il me retrouve pas les intervention mais les donnée du form modif ticket s'affiche bien et que ensuite j'enregistre un nouvelle intervention et qu'il me trouve plus rien au niveau des information des données du formulaire mais me trouve les interventions donc je pensse qu'au niveau de ce lien modifier dans la page "lestickets" nous devons précisé ossi qu'est qu'on recupere au niveau des intervention. car a l'heur d'aujour dhui on l'a pas précisé il y a que sa sur le lien modifier :

<td><a href="?page=5&ticket=<?php echo $donnees['IndexTicket'];?>&NumeroTicket=<?php echo $donnees['NumeroTicket']; ?>">Modifier</a></td>

Et rien qui correspond les intervention d'ou aucune information dans les tableu les interventions.

Qu'est que t'en pensse ?

P.S apré avoir repondu a cette question et que ce n'est pas sa qu'il s'agit. serait - ils possible que tu me reexplique plus lentement si sa te derange pas qu'est ce qui faut que je change au niveau des Variable pour les $NumeroTicket stp.


Et enfette ta fonction :
if ( isset($_GET['NumeroTicket']) ) { 
$NumeroTicket = $_GET['NumeroTicket']; 
} else { 
$NumeroTicket = ""; 
} 


Je dois le mettre en debut de toutes mes page php ou on trouverai sa dedans, c'est bien sa :
$_GET['NumeroTicket'] ?????



Merci de me suivre tous seul je serais perdu......
0
sniper > sniper
3 févr. 2009 à 16:48
Ta laissé tombé passariho lol je te comprend t'inquiete!! ^^ lol
0
sniper > sniper
4 févr. 2009 à 08:51
?????
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
4 févr. 2009 à 09:53
Re ^^ Désolé hier soir j'étais plutôt occupé :s
Et là avec les bouchons je viens d'arriver ^^

Par rapport à ton lien dans lestickets vesr modifier :
<td><a href="?page=5&ticket=<?php echo $donnees['IndexTicket'];?>&NumeroTicket=<?php echo $donnees['NumeroTicket']; ?>">Modifier</a></td>
C'est bon, on a pas besoin de toucher à ça car quand tu vas afficher les interventions, la seule variable dont on a besoin c'est NumeroTicket donc c'est bon on l'a ^^

Alors pour te réexpliquer ça :

if ( isset($_GET['NumeroTicket']) ) {
$NumeroTicket = $_GET['NumeroTicket'];
} else {
$NumeroTicket = "";
}

En fait ça dit que si dans l'url, tu as bien un "NumeroTicket=" quelque part, tu met ce qu'il y a après le = dans la variable $NumeroTicket (donc dans toutes les pages où tu utilisais $_GET['NumeroTicket'], tu le remplaces par $NumeroTicket)

Et sinon, ta variable contient une chaine vide.
Ca évite que, si tu n'a pas de "NumeroTicket=" dans ton url, tu utilises dans ton script une variable qui n'existe pas ... (ce qui causait les erreurs de inddex non défini : NumeroTicket )

Donc effectivement tu le mets dans toutes tes pages PHP où tu utilisais $_GET['NumeroTicket'] et tu remplaces tes variables.
Mais comme je t'ai dit, fais bien attention si tu avais d'autres variables qui s'appelaient comme ça ...
0
OKOK non mais c'est pas grave pas de soucy normal pour hier ;-)....



D'autre variable qui s'appel NumeroTicket il y a dans la table Ticket et dans la table Intervention c'est tout.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
4 févr. 2009 à 10:02
Non je parle dans ton script PHP des variables qui s'appellent $NumeroTicket
0
Alors voila on retrouve j' ai fait toutes mes pages une par une pour etre sur :

Tickets.php on la 3 fois :
$NumeroTicket = substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
			"DELETE FROM tb_ticket WHERE NumeroTicket=<code>$NumeroTicket 
and IndexTicket=$IndexTicket<br />";
mysql_query("DELETE FROM tb_ticket WHERE NumeroTicket=
$NumeroTicket 
and IndexTicket='$IndexTicket' "); // Suppression</code>


Dans Modification.php : 3 fois aussi
<code>$NumeroTicket 
= substr($cle,$temp_pos);// On récupère les caractères se trouvant après le "_"
"DELETE FROM tb_intervention WHERE NumeroIntervention=$NumeroIntervention and NumeroTicket=
$NumeroTicket
<br />";
mysql_query("DELETE FROM tb_intervention WHERE NumeroIntervention=$NumeroIntervention and NumeroTicket='
$NumeroTicket' 
");</code>

Et enfin MiseAJourTicket.php : 2 fois
$NumeroTicket = $_GET['NumeroTicket']; 
NumeroTicket='" . $NumeroTicket . "'";


Voila tous les autres page il n'apparait pas.
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
4 févr. 2009 à 10:22
Bon alors on va changer le nom de la variable ^^

Remplace par ça :

if ( isset($_GET['NumeroTicket']) ) {
$GetNumeroTicket = $_GET['NumeroTicket'];
} else {
$GetNumeroTicket = "";
}

Et à la place de $_GET['NumeroTicket'], tu utilises $GetNumeroTicket dans toutes tes pages (je pense pas que tu l'ai déjà cette variable ^^ ).
0