Reload la table à chaque insertion

Résolu
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014 - Modifié par mounana199 le 7/05/2014 à 11:32
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014 - 7 mai 2014 à 22:33
Bonjour,
j'utilise un table dans ma page qui affiche la table d'une base de donnée à chaque insertion mais le probleme c'est que la modifacation n'apparait qu'aprés l'ajout d'une autre.je veux à chaque insertion la nouvelle ligne apparait.
voila le code:
<table border="2" id="tab">
         <fieldset style="color:blue;font-weight:bold;">les profs crées:</fieldset>
                <tr class="ligne">
   <th>id</th>
                 <th>login</th>
                 <th>password</th>
                </tr>
 <?php 
 mysql_connect("localhost","root","123") or die(mysql_error());
 mysql_select_db("basepfe")or die('Pas de Base de donn\351');
 $sql= mysql_query("select * from profs");
  while($result=mysql_fetch_array($sql))
                                                {
             
                                                    $n =$result['idP'];
                                                    $no = $result['login'];
                                                    $pr = $result['pass'];
                                                   
?>
                <tr>
                    <th><?php echo $n; ?></th>
                    <th><?php echo $no; ?></th>
                    <th><?php echo $pr; ?></th>
                </tr>
   
 <?php
 }
echo "<bold><script> location.reload();</bold>" ?> 
            </table>
</div>

pouvez-vous m'aider svp?merci d'avance

4 réponses

EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
7 mai 2014 à 11:58
Moi j'ai fais comme sa:
function Insert_Line()
{		
	var V_I_New_Date = $("#I_New_Date").val();
	var V_S_New_Request = $("#S_New_Request").val();
	var V_I_New_TimeSpent = $("#I_New_TimeSpent").val();
	var V_TA_New_Description = $("#TA_New_Description").val();
	var V_I_New_Worker = $("#WorkerIdSelSave").val();
		
	//Recover the Primary key value
	$.ajax
	({
		type: 'POST',
		data: {
				Jour : V_I_New_Date, 
				Request : V_S_New_Request,
				TimeSpent : V_I_New_TimeSpent,
				Description : V_TA_New_Description,
				Worker : V_I_New_Worker
			  },
		async: false,
		url:'Insert_Line_BDD_Daily_Timer.ajx.php', 
		error: function(error){alert("Erreur : " + error);}
	});
	
	$("#S_New_Request").val('');
	$("#I_New_TimeSpent").val('');
	$("#TA_New_Description").val('');
	
	var TDW = "#MyTabPHP";
	var IDfromDateText = $("#DaySelSave").val();
	var NamefromWorker = $("#WorkerSelSave").val();	
	var IDfromWorker = $("#WorkerIdSelSave").val();
	EraseDiv(TDW);
	CreateDiv(IDfromDateText,IDfromWorker,NamefromWorker);
	
};
function EraseDiv(TDW)
{
	$(TDW).remove();
}

function CreateDiv(idJour,idWorker,nameWorker)
{
	$.ajax
	({
		type: 'POST',
		data: {V_I_New_Date : idJour, V_S_New_Worker : idWorker,ID_I_New_Date : idJour+'_'},
		async: false,
		url:'PHP_Tab_Day.ajx.php', 
		success:function(data) { $("#Tab_PHP").append(data)},
		error: function(error){alert("Erreur : " + error);}	
	}); 

	$("#I_New_Date").val(idJour);
	$("#I_New_Worker").val(nameWorker);	
	$("#DaySelSave").val(idJour);
	$("#WorkerSelSave").val(nameWorker);	
	$("#WorkerIdSelSave").val(idWorker);
};

Voila.
0
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014
7 mai 2014 à 12:34
j'ai rien compris dans ce code :( :( il y a pas autre solution que ce code? soit une fonction prédifinis ou autre ? merci
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
7 mai 2014 à 12:57
Il y a surement d'autre façon , plus simple plus propre mais je n'ai que sa a te proposer (étant un grand débutant dans se domaine très vaste).
0
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014
7 mai 2014 à 13:03
merci pour votre réponse pouvez vous me proposez des tutorials? mercii
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
7 mai 2014 à 13:13
regarde sur openclassroom.
sinon le principe du code que j'ai poster est assez simple il y a une fonction ajax qui crée mon tableau une fois que le filtre sur la BDD et sélectionner, la tu fais ton insert se qui va appeler une fonction qui supprime ton tableau et une qui crée de nouveau ton tableau.
Bonne chance
0
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014
7 mai 2014 à 13:24
ok merci bcp
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
7 mai 2014 à 13:59
Bonjour,

Tu postes ta question dans la section Javascript... hors tu ne nous montres que du PHP..

Bon..si j'ai bien compris ta demande c'est :
Affichage des nouvelles valeurs saisies sur ta page ?

Par contre.. tu ne veux QUE les dernières valeurs saisies ou TOUTES les valeurs de ta table ?

En fonction de ta réponse... soit je déplace ton sujet dans la rubrique PHP (qui je pense suffira à résoudre ton souci) soit je la laisse en JAVASCRIPT.


@EnguerrandP :
une fonction qui supprime ton tableau et une qui crée de nouveau ton tableau.
Aucun intérêt de faire ça.
Le plus simple est de mettre à jour le tableau existant (pas besoin de le supprimer avant).






0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
7 mai 2014 à 14:20
On fais sa comment ???
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
7 mai 2014 à 15:36
Tout dépend ce que tu entends par "supprimer".
Mais sinon .. comment... et bien en utilisant le DOM pour manipuler le document HTML en javascript et de l'AJAX pour requêter en arrière plan.
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
7 mai 2014 à 15:51
Se que j'ai fais tu pense que sa va causer des soucis ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
7 mai 2014 à 16:13
Des soucis. non.. mais ce n'est pas le plus propre.
Mais bon... on est pas là pour discuter de TON code mais de celui de mounana199
0
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014
7 mai 2014 à 14:42
je veux pas supprimer la table je veux à chaque insertion à partir du formulaire la nouvelle ligne inséré soit apparait dans la table , j'ai postulé ici parce que j'ai utilisé la fonction
location.reload()
et je pense que javascript a une solution.
merciiii
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
7 mai 2014 à 15:15
Je ne comprend pas bien ta demande....

Tu nous parles de Table... ( les tables de ta base de données) ou de Tableau ( tableau html) ??

j'ai postulé ici parce que j'ai utilisé la fonction
location.reload()

Quel est le rapport ? Pour une petite ligne de code javascript tu postes dans cette Section alors que tu en as 30 autres en Php .... ??!!


je pense que javascript a une solution.
Ben .. comme je te l'ai dit... TOUT DEPEND DE CE QUE TU SOUHAITES FAIRE.
Pour l'instant ta question n'est pas claire du tout !


Peut -être as tu oublié de nous mettre le reste de ton code... ce qui pourrait nous permettre de mieux comprendre ce que tu souhaites faire.
0
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014
7 mai 2014 à 21:44
nn c'est la table de ma base de données, j'ai un formulaire pour créer les profs et j'ai mis une table qui affiche les enregistrements.
mon probleme c'est que quand je click sur créer :la nouvelle enregistrement n'apparait que lorsque j'ajoute une autre. clair mnt?
voila le code complet:

<div class="login-form">

<form class="form login-form form-horizontal" id="1" action='pag1.php' method="POST">
<div class="container box" style="padding-right: 100px; margin-top: 50px; border: 1px solid #ccc; background: #fff;">
<div class="box-shadow-big">
<div class="span4">
<div class="form-group">
<label>Login :</label>
<input class="form-control" name="login" type="text" />
</div>
<div class="form-group">
<label>Mot de passe :</label>
<input id="mdp1" name="mdp" type="password" />
<div id="verifMdpLength"></div>
</div>

</div>
<div class="row" style="padding: 20px; ">

<input style="margin-left: 20px !important;margin-top: 30px;" value="Creer" class="btn sub btn-black " type="submit" name="submit" />
</div>
<div class="form-group">
<table>
<tr>
<td><input style="display:inline-block;" value="supprimer un prof" class="btn sub btn-black " type="submit" name="supprimer" onclick="form()" /></td>
<td><input style="display:inline-block;" value="modifer les infos" class="btn sub btn-black " type="submit" name="modif" /></div></td></table>
</div>
</div>
</form>
</div>

<table border="2" id="tab">
<fieldset style="color:blue;font-weight:bold;">les profs crées:</fieldset>
<tr class="ligne">
<th>id</th>
<th>login</th>
<th>password</th>
</tr>
<?php
mysql_connect("localhost","root","123") or die(mysql_error());
mysql_select_db("basepfe")or die('Pas de Base de donn\351');
$sql= mysql_query("select * from profs");
while($result=mysql_fetch_array($sql))
{
$n = $result['idP'];
$no = $result['login'];
$pr = $result['pass'];

?>
<tr>
<th><?php echo $n; ?></th>
<th><?php echo $no; ?></th>
<th><?php echo $pr; ?></th>
</tr>
<?php }
echo "<script> location.reload(); <script> "?>

</table>


<?php
$name=$_POST['login'];
$pass=$_POST['mdp'];
if (isset($_POST['submit'])){

if($name&&$pass)
{
mysql_connect("localhost","root","123") or die(mysql_error());
mysql_select_db("basepfe")or die('Pas de Base de donn\351');
$sql=mysql_query("INSERT INTO profs VALUES ('','$name','$pass')");
echo "<script> alert('la compte a été bien créer')</script>";
mysql_close();
}

else echo "<script>alert('Remplir tous les champs svp vous plait!')</script>";
}

?>
:( :( j'ai tout en php,et je postule sur javascript à cause de ' location.reload()' vraiment je sais pas si cest la bonne forums ou nn :( :(
0
EL.marwaa123 Messages postés 99 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 7 juin 2014
7 mai 2014 à 22:33
mon probleme est resolu merci bcp j'ai juste changer l'ordre des codes php mercii bcppp
0
Rejoignez-nous