[RESOLU] récupèration des info de bd dans un formulaire

dlhp
Invité n'ayant pas de compte PHPfrance

22 sept. 2014, 19:05

bonjour

j'ai une bd et je voudrai récupérer les info sur un formulaire jusque la pas de problème
le problème et que sur le formulaire j'ai besoin d'avoir plusieurs info avec des partie identique petit exemple
Image
comme les champ 3 et 4 sont identique je ne les affiche que sur la 1er ligne
sur les ligne suivant je voudrait afficher seulement les champ 3 et 4
le problème ils doivent être dans des champ de formulaire car je les utilise sur
la page suivant pour un nommage de fichier et un env de mail

mon formulaire existe je l'utilise en saisie manuel avec la récupération des champ 3 et 4 de la DB

merci ci-joint bout de code du formulaire

<?php
 
$bl = $_GET["bl"];
 
 
 mysql_select_db($database_envpiece, $envpiece);
 
 $result=mysql_query("SELECT * FROM os WHERE bl='$bl'");
 while ($row=mysql_fetch_array($result)) {
 
?>
 
				<table border="0" width="712" align="center">
			<td colspan="1">
        <p align="center"><font  color="black"><b><span style="font-size:36pt;">Saisie 
        de Manifeste&nbsp;&nbsp;</span></b></font></td>
			</tr>
				</table>
				<table border="0" width="712" align="center">
 
			<td align=center height="24">
        <p align="center"><font  color="black"><b>Utilisateur :</b></font><font  color=#6666ff><b> 
        </b></font><font  color="#0000CC"><b><? echo $_SESSION['nom'];?> <? echo $_SESSION['prenom'];?></b></font> </td>
				</center>
			</tr>
				</table>
				<table border="0" width="712" align="center" style="border-style:ridge;">
    		<tr>
				<td colspan="9">
					<form method="post" action="upload.php" enctype="multipart/form-data">
				</td>
			</tr>
 
			<tr>
		<td align=center><font  color=#3333cc><b>code tech<br><input type="text" size=4 name="ctech" value="<? echo $_SESSION['login'];?>" onFocus="this.form.jj.focus()"></b></font></td>
		<td align=center><font  color=#3333cc><b>Date<br><input type="text" size=1 name="jj" value=<? echo '' .
                  $row["jj"];?>><input type="text" size=1 name="mm" value=<? echo '' .$row["mm"];?>>
                  <input type="text" size=2 name="aaaa" value=<? echo '' .$row["aaaa"];?> ></b></font></td>
		<td align=center><font  color=#3333cc><b>Manifeste<br><input type="text" size=7 name="manifeste" /></b></font></td>
 
		<td align=center><font  color=#3333cc><b>Order<br><input type="text" size=7 name="inter" value=<? echo '' .
                  $row["os"];?>></b></font></td>
 
                <td align=center><font  color=#3333cc><b>piece<br><input type="text" size=1 name="npiece" value=<? echo '' .
                  $row["npiece"];?>></b></font></td>
 
                <td align=center><font  color=#3333cc><b>ref piece<br><input type="text" size=6 name="refp" value=<? echo '' .
                  $row["refp"];?>></b></font></td>
 
                <td align=center><font  color=#3333cc><b>BL<br><input type="text" size=15 name="bl" value=<? echo '' .
                  $row["bl"];?>></b></font></td>
               <td align=center><font  color=#3333cc><b>Sc 1<br><input type="text" size=4 name="sc1" value=<? echo '' .
                  $row["sc1"];?>></b></font></td>
                  <td align=center><font  color=#3333cc><b>Sc 2<br><input type="text" size=4 name="sc2" value=<? echo '' .
                  $row["sc2"];?>></b></font></td> 
 
 
 
 
		<td align=center><input type="text" size=11 name="inter1" /></td>
 
		<td align=center><input type="text" size=11 name="inter2" /></td>
 
		<td align=center><input type="text" size=11 name="inter3" /></td>
 
		<td align=center><input type="text" size=11 name="inter4" /></td>

ViPHP
ViPHP | 1996 Messages

23 sept. 2014, 21:28

Excuses moi mais je n'y comprend rien...
As tu essayé de faire une discrimination de type :

Code : Tout sélectionner

SELECT ch2, ch3, ch4, ch5 FROM os where b1= '$b1' WHERE ch2 NOT NULL
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

dlhp
Invité n'ayant pas de compte PHPfrance

24 sept. 2014, 20:18

Bonjour merci pour ta réponse

Je comprend que tu n’y comprend rien ….
Mon exemple ne correspond pas au code
Avant je replisser mon formulaire avec
La date du jour un numéro de document et des numéros d’os qui ce trouve sur le même document
Donc je saisie la date le numéro de document et les numéro os
a l’enregistrement Il me crée sur la bd le nombre de ligne correspondant au nombre d’os

Date : n document : os1
Date : n document : os2
Date : n document : os3

Maintenant les info étant déjà dans la bd j’aimerais remplir automatiquement mon formulaire j’arrive a afficher toute mes infos sur une page
Je voudrait seulement que les info correspond a un numéro de champ
Si je prend un numéro de document qu'il m’affiche les info comme formulaire avant

Date : ndocument : os1
os2
os3

Après je reprend les infos pour renommer un fichier (date os1,os2,os3.pdf)
Et env mail ci-joint les os1 os2 os2 du n document au date

Voilà ce qui me bloque la récupération des info

merci

ViPHP
ViPHP | 1996 Messages

26 sept. 2014, 12:01

Ah! Ok ! Bon tu n'as qu'à écraser les infos lors de la compilation de la pile mysql (technique que j'emploie régulièrement)

Reprenons ton exemple :

Code : Tout sélectionner

Date : n document : os1 Date : n document : os2 Date : n document : os3
//j'utilise mysql1 pour l'exemple
$requete = "SELECT date, document, type_OS FROM table";
$mysqli->real_escape_string($requete);
$resultat = $mysqli->query($requete));
$tabSortie = array();
$i = 0;
while ($assoc = $resultat -> fetch_assoc()) :
	$date = (string) $assoc["date"];
	$document = (string) $assoc["document"];
	$os = = (string) $assoc["type_OS"];
	$tabSortie[$date][$document][$i] = $os;
	$i++;
endwhile;
$resultat->close();
var_dump ($tabSortie);
Attention ici, je n'ai mis aucune protection injection sql & co.
Cet exemple devrait te créer un tableau à clés "date" contiendra un tableau avec clés "document" qui comprendra les différentes valeur OS. Ainsi à chaque dates tu pourras avoir plusieurs documents qui aura aussi plusieurs OS.
A toi après de lire le tableau en fonction de tes besoins et d'afficher ce que tu veux :
$tabFichier = [];
$i = 0;
foreach ($tabSortie as $date => $tabDocuments) :
	$tabFichier[$i] = $date." ";
	foreach ($tabDocuments as $Os) :
		$tabFichier[$i] .= $Os." ";
	endforeach;
	$tabFichier[$i] = substr($tabFichier[$i],0,-1); //on enlève le dernier " "
	$i++;
endforeach;
var_dump ($tabFichier);
J'espère que cela t'aidera
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

dlhp
Invité n'ayant pas de compte PHPfrance

28 sept. 2014, 12:29

Bonjour

Merci de ta réponse
le problème je ne comprend pas trop et j’ai tester et n’arrive pas a le faire
fonctionner
Il faudrait que je puisse dire que os et égale a $row3 et le suivant $row 6 par exemple
Non ?

merci

dlhp
Invité n'ayant pas de compte PHPfrance

30 sept. 2014, 00:08

RESOLU
avec

Code : Tout sélectionner

while ($donnees = mysql_fetch_array($reponse) ){ $tab[] = $donnees ; echo $tab[0]['bl'];
merci