Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/08/2011, 15h55   #1
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Par défaut Probleme enregistrement table temporaire

Salut,

je suis en train de développer un script en PHP/MySQL et pour mon besoin j'ai décidé de créer une table temporaire pour effectuer un calcul. Dans mon script PHP je lui post des paramètres que l'on coche par le biais de checkbox.
Pas de problème particulier pour afficher mes données.

Cependant, dès que j'ai rajouté la ligne de la table temporaire, ça m'enregistre que le premier élément du checkbox pas tous les autres .

Est que quelqu'un aurait une idée de comment résoudre mon problème ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
foreach($_POST['admin'] as $categ){
echo "$categ <br/>";
$sql = "select count(distinct `IDPatient`) as Nombre, annee, LesioCIMO from export where LesioCIMO like '".$categ."' 
and age>=".$age1." 
group by annee order by annee desc";
$result = mysql_query($sql) or die(mysql_error());
 
 
echo "<table border='1'>
<tr>
<th>Nombre</th>
<th>annee</th>
<th>LesionCIMO</th>
 
</tr>";
while($row = mysql_fetch_assoc($result))
  {
echo "<tr>";
  echo "<td>" . $row['Nombre'] . "</td>";
  echo "<td>" . $row['annee'] . "</td>";
  echo "<td>" . $row['LesioCIMO'] . "</td>";
  echo "</tr>";
}
echo "</table>";
echo "<br/><br/>";
 
//creation d'une table temporaire//
mysql_query("CREATE TEMPORARY TABLE sumgliomeyear (nombre int(11), LesioCIMO varchar(20), annee varchar(20))") OR DIE ("Erreur insertion temp table"); 
 
 
$somall = "insert into sumgliomeyear (select count(distinct `IDPatient`), LesioCIMO, annee from export where LesioCIMO like '".$categ."' and `IDPatient` not like '@%'
and age>=".$age1." group by annee order by annee desc)";
 
mysql_query($somall) OR DIE ("Erreur insertion temp table");
 
$showresult =mysql_query("select sum(nombre) as somme, annee from sumgliomeyear group by annee");
 
echo "<table border='1'>
<tr>
<th>Nombre</th>
<th>annee</th>
 
</tr>";
 
while($rowz = mysql_fetch_assoc($showresult) or exit(mysql_error())) {
echo "<td>" . $rowz['somme'] . "</td>";
echo "<td>" . $rowz['annee'] . "</td>";
 
echo "</tr>";
}
echo "</table>";
//Fin du test//
 
}//fin du foreach
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h03   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour, peux tu afficher le code du formulaire avec les checkbox en question ?

Merci

A+
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h06   #3
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
normal ou pas ? : la création de la table est à l'intérieur du foreach ...
... vu qu'il n'y a aucun commentaire dans le code ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h08   #4
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 776
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 776
Points : 2 340
Points : 2 340
Bonjour,

Ta requête de création se fait en boucle

Edit: grilled par jreaux
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h11   #5
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Salut,
Voila en gros comment s'articule mon formulaire.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<form name = "stat" action="StatTV.php" method="POST">
...
<input type="TEXT" name="age1" size="3"></input>&nbsp;<=Age
 
<?php
require_once "config.php";
$sqlRq = "Select cimo, fnomen from morphosai";
 
$result = mysql_query($sqlRq) or trigger_error(mysql_error(),E_USER_ERROR);
?>
 
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
 
...
 
<?php while(list($cimo,$fnomen)=mysql_fetch_row($result)){
?>
<tr class="gradeX">
<?php
echo '<td align="center" bgcolor="#FFFFFF"><input type="checkbox" name="admin[]" value="'.$cimo.'" /></td>';?>
<td><?php echo $cimo ?></td>
<td><?php echo $fnomen?></td>
</tr>
<?php } ?>
</tbody>
</table>
</form>
En fait, ça marché bien, jusqu'à ce que j’essaie d'inclure une table temporaire pour enregistrer les données.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h14   #6
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
oui j'ai enlevé la création de la table temporaire du foreach, ça fait la même chose .
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h16   #7
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
un
Code :
1
2
3
echo '<pre>';
print_r($_POST['admin']);
echo '</pre>';
t'affiche quoi ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h20   #8
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
j'affiche chaque valeur $cimo qui a été cochée dans les checkbox.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 16h24   #9
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
et

Code :
1
2
3
$sql = "select count(distinct `IDPatient`) as Nombre, annee, LesioCIMO from export where LesioCIMO like '".$categ."' 
and age>=".$age1." 
group by annee order by annee desc";
te renvoie à chaque fois un résultat ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 09h05   #10
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Salut syl2095,

oui je te confirme que :
Code :
1
2
3
4
 
$sql = "select count(distinct `IDPatient`) as Nombre, annee, LesioCIMO from export where LesioCIMO like '".$categ."' 
and age>=".$age1." 
group by annee order by annee desc";
me retourne à chaque un fois un résultat. C'est depuis que j'ai rajouté les lignes de codes pour la table temporaire que ça ne marche plus. Du moins que ça me prends en compte que la première occurrence cochée .
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 14h59   #11
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Bon, j'ai finalement compris ce qui n'allez pas. Mon tableau et ma requête qui affiche le résultat de l'insert into dans la table temporaire n'était pas placé au bon endroit. Je l'ai sorti de la boucle foreach. Maintenant ça marche .

Merci à ceux qui m'ont aidé .

A+
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h38.


 
 
 
 
Partenaires

Hébergement Web