IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaires multiples dans tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de korospoukine
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2006
    Messages : 176
    Par défaut Formulaires multiples dans tableau
    Bonjour,

    Je souhaite faire un site en php afin de recenser/reserver des emplacements pour des serveurs.
    J'ai une base qui se met à jour dynamiquement 2 fois par jour afin de connaitre ce qui est en place.
    J'ai une deuxième base qui va me permettre de rentrer les informations suivantes : les reservations d'emplacements pour les prochains serveurs, ainsi que si des emplacements sont HS.

    J'ai réussi à générer mes tableaux en récupérant les informations dans les deux bases, mais ou je coince c'est pour la mise à jour. En effet, si je demande une mise à jour, tout mon tableau se met à jour ...

    En gros voici le cheminement de mon script :
    - Je cherche les châssis de type xxx
    - Je les affiches avec l'information SAN ou pas SAN
    - Je construit un tableau de 8 cases avec les informations suivantes
    - si je trouve quelque chose dans la base une : j'affiche
    - sinon je regarde base 2
    - si kk chose j'affiche plus un bouton pour supprimer la reservation
    - si rien du tout je demande les infos pour reserver.



    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    <?php
    	include("connect.php");
    	$num = $_GET['num'];
    	$req = "SELECT EnclosureName, SAN FROM ActiveOnBoards WHERE Repartition=$num ORDER BY EnclosureName";
    	$tablo = mssql_query($req) or exit(mssql_error());
    	while ($recherche = mssql_fetch_array($tablo))
    		{?>
    			<fieldset class="fieldDem">
    				Chassis <?php 	
    								echo $recherche['EnclosureName']; // affiche le nom du châssis et s'il a du SAN ou non
    								if ($recherche['SAN']=="1") echo " avec SAN";
    								else echo " sans SAN";
    								$chassis = $recherche['EnclosureName']
    						?>
    				<table border="2" width="100%" Color="black">
    					<tr>
    						<?php
    						for ($i=1; $i<9; $i++) //construit la première zone pour les lames des slots 1 à 8
    						{ 
    							//requete qui tape dans la base Blade qui se met à jour toute seule
    							$req2 = "SELECT SerialNumber, Enclosure, Slot, Model FROM Blades WHERE Enclosure='$chassis' AND Slot=$i";
    							$tablo2 = mssql_query($req2) or exit(mssql_error());
    							$rechercheBlade = mssql_fetch_array($tablo2);
     
    							//requete qui tape dans la base pour reservation
    							$req3 = "SELECT * FROM BladesReserved WHERE Enclosure='$chassis' AND Slot=$i";
    							$tablo3 = mssql_query($req3) or exit(mssql_error());
    							$rechercheResa = mssql_fetch_array($tablo3)
     
    						?>
    							<td width="10%" class="menu" valign=top>								
    								<?php
    									switch ($rechercheBlade['Slot'])//recherche dans la base qui se met à jour toute seule
    										{
    										case $i://on check si il y a une entrée en base pour ce slot													{
    											echo $i;
    											?>
    											<FONT size=2><br>	
    											<?php
    											echo 'SerialNumber:<br>';
    											$SN= $rechercheBlade['SerialNumber'];
    											echo substr("$SN",0,9);	
    											echo '<br>Model:<br>';
    											echo $rechercheBlade['Model'];
    											break;
    										default://si rien en base alors :
    											switch ($rechercheResa['Slot'])//recherche dans la base de reservation
    												{
    												case $i:
    													echo $i;
    													?>
    													<FONT size=1 color=blue>
    													<form name="Delete" method="post">
    													<?php
    													echo 'SerialNumber: ';
    													echo $rechercheResa['SerialNumber'];	
    													echo '<br>Model: ';
    													echo $rechercheResa['Model'];
    													echo '<br>Projet: ';
    													echo $rechercheResa['Project'];
    													echo '<br>Reserve le: <br>';														
    													echo $rechercheResa['Date'];
    													?>
    													<input type="submit" name="Delete" value="Delete"/>
    													</form>
    													<?php
    													if (isset ($_POST['Delete']))
    														{
    														//On prépare la commande sql d'insertion
    														$sql = "DELETE FROM BladesReserved WHERE Enclosure='$chassis' AND Slot=$i";
    														echo $sql;
    														/*on lance la commande (mysql_query) et au cas où,
    														on rédige un petit message d'erreur si la requête ne passe pas (or die)
    														(Message qui intègrera les causes d'erreur sql)*/
    														mssql_query ($sql);
    														//mssql_free_result ($sql);
    														// on ferme la connexion
    														//mssql_close();
    														}
    													break;
    												default:
    													echo $i;
    													?>
    													<FONT size=1><br>
    													<form name="MAJ" method="post" action="inventaires.php?num=<?php echo $num?>">
    													<input type=text maxlength="11" size="13" name=SerialNumber value=SerialNumber>
    													<select name="Model">
    													<option value="choix1">ProLiant BL460c</option>
    													<option value="choix2">ProLiant BL480c</option>
    													<option value="choix3">ProLiant BL620c</option>
    													<option value="choix4">server BL870c</option>
    													<option value="choix4">HP SB40c</option>
    													</select>
    													<input type=text maxlength="11" size="13" name=Project value=Project>
    													<input type="checkbox" name="case" id="case" /> <label for="case">HS </label><input type="checkbox" name="case" id="case" /> <label for="case">Reserved</label>
    													<input type="submit" name="MAJ" value="MAJ"/>
    													</form>
    													<?php
    													if (isset ($_POST['MAJ']))
    														{
    														//On construit la date d'aujourd'hui strictement comme sql la construit
    														$today = date("d-m-y");
    														echo $today;
    														//On prépare la commande sql d'insertion
    														$sql = "INSERT INTO BladesReserved VALUES('$chassis','$i','$SerialNumber','$Model','$Project','$today','$case')";
    														echo $sql;
    														/*on lance la commande (mysql_query) et au cas où,
    														on rédige un petit message d'erreur si la requête ne passe pas (or die)
    														(Message qui intègrera les causes d'erreur sql)*/
    														mssql_query ($sql);
    														// on ferme la connexion
    														//mssql_close();														
    														}
    												}
    										}
    								?>
    							</td>
    							<?php		
    						}
    						?>
    					</tr>
    Je sais que mes variables pour mon deuxième formulaires (MAJ) ne sont pas bonnes, je ne sais pas encore comment les renseigner.

    Voici un petit apercu de ce ca donne :

    Si vous trouvez que ce n'est pas clair n'hesitez pas. je répondrais avec plaisir.

    Merci d'avance pour vos conseils

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    si j'ai bien compris ton problème, tu voudrais mettre à jour que ce qui a été modifié?

    Si c'est le cas tu pourrais faire un checkbox, si cette checkbox est coché, j'update la ligne en question.

    Si tu ne vois pas comment faire je reste dispo.

  3. #3
    Membre éprouvé Avatar de korospoukine
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2006
    Messages : 176
    Par défaut
    Oui c'est cela. Je ne souhaite que mettre à jour la case qui a été modifiée.
    Les modifs multiples sont exeptionnelles. Donc pour un premier site ce ne sera qu'une case à la fois.

    En parlant de checkbox en gros c'est une case à cocher comme mon HS et Réservé ?

  4. #4
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Oui c'est ca, si tu fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="modif[]" value="<?php echo $identifiantLigne; ?>"/>
    en faisant cela tu pourras récupéré un tableau modif qui sera composé que des identifiant qui sont cochés.

    Le petit plus qui pourrait être sympa serait de caché cette checkbox (en CSS par exemple) et que des que tu détectes un changement (onchange) tu passes ta chexbox a true. Comme ca l'utilisateur n'a pas besoin de le faire lui-même

  5. #5
    Membre éprouvé Avatar de korospoukine
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2006
    Messages : 176
    Par défaut
    Merci pour tes réponses rapides.
    Maintenant je vais essayer de l'implémenter et va falloir que je regarde pour faire mon css ...

  6. #6
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Pour ta partie CSS, la syntaxe est :

    Ceci marche sous IE,FireFox et Chrome (au moins cela ^^). Ceci permet de ne pas afficher un bloc (div,ul,li,input...).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélection multiple dans un sous formulaire ?
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 09/03/2019, 01h05
  2. Extraire lignes multiples dans tableau
    Par otsch dans le forum Excel
    Réponses: 1
    Dernier message: 23/12/2014, 15h45
  3. Réponses: 1
    Dernier message: 19/06/2011, 19h38
  4. [WD-2003] Sélecttion multiple dans tableau en VBA Word
    Par CSR94 dans le forum VBA Word
    Réponses: 1
    Dernier message: 22/09/2010, 12h17
  5. Réponses: 2
    Dernier message: 19/12/2005, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo