Spaghetti (PHP, JAVASCRIPT)

Fermé
haj-abdel - 19 oct. 2008 à 14:09
 Utilisateur anonyme - 19 oct. 2008 à 15:56
Bonjour,

J’ai une table dans une base de données MYSQL et je veux la remplir à partir d’une page PHP, mais avant de cliquer sur le bouton qui permet l’insertion, je veux d’abord tester es ce que l’enregistrement existe déjà sur la table ou pas, pour éviter les doublants.

A ce niveau là je veux tester l’existence de cet enregistrement avec du JAVASCRIPT pour éviter de recharger la page à chaque teste, c’est pourquoi j’ai choisie une solution et je veux savoir es ce que c’est la bonne :

Donc j’ai mélangé du PHP avec du JAVASCRIPT :
Voila la fonction :


<script language="javascript">
function verifEXST(num,annee) {
var tab_notes=new Array(Array);
i = 0;
<?php do { ?>
if (!tab_notes[i]){
tab_notes[i]=new Array();
tab_notes[i][0] = <?php echo $row_Recordset1_verif['num'] ?>;
tab_notes[i][1] = <?php echo $row_Recordset1_verif['annee'] ?>;
}else{
tab_notes[i][0] = <?php echo $row_Recordset1_verif['num'] ?>;
tab_notes[i][1] = <?php echo $row_Recordset1_verif['annee'] ?>;
}
i++;
<?php
} while ($row_Recordset1_verif = mysql_fetch_assoc($Recordset1_verif));
$rows = mysql_num_rows($Recordset1_verif);
if($rows > 0) {
mysql_data_seek($Recordset1_verif, 0);
$row_Recordset1_verif = mysql_fetch_assoc($Recordset1_verif);
}
?>

for(a=0;a<tab_notes.length-1;a++){
if(tab_notes[a][0]==num.value.substring(0,7) && tab_notes[a][1]==annee.value){
return false;
}
}
return true;
}
</script>

Comme ça le code JAVASCRIPT va augmenter automatiquement à chaque foi que les enregistrements de table MYSQL (depuis laquelle je replie la table JAVASCRIPT) augmente.
Alors si j’ai par exemple 6000 enregistrements, le code JAVASCRIPT va avoir une taille très grande.

Quelque vous en dites ???

NOTE : je ne veux pas utiliser du XML parce que il me faut la version PHP5 pour qu’il puisse marcher
A voir également:

7 réponses

Merci pour la réponse mais comme vous voyez je veux afficher un message comme quoi l'enregistrement est existe déjà sans recharger la page donc sans doute je vais utiliser le JAVASCRIPT si non y'en a plusieurs méthodes avec PHP qui nécessitent le rechargement de la page, et parmi ces méthodes on trouve celle que vous m'avais proposé.

merci pour la deuxième fois.
0
oui c'est exactement ce que je ne veux pas !!
y ' en a des clients qui ont des PC un peu lourds ce qui va demander plus de temps à chaque fois qu'on veut vérifier l'existence de l'enregistrement, sinon, le javascript va charger la table coté client comme ça le teste va être en local et sur le champs sans recharger la page.
Merci bien, en tt cas comment vous avez trouvé la solution que j'ai fait (Spaghetti (PHP, JAVASCRIPT))???
je n'ai jamais vu qlq chose pareil :)
0
en tt cas je vais choisir un test avec rechargement de la page puisque c'est la bonne solution mais pas la meilleur.
mais ma question est : es ce que la solution que j'ai fait a des Inconvénients?

c'était ma dernières réponse à ce sujet là , merci Mr giheller pour le temps que vous m'avez accordé, ravi ;)
0
Utilisateur anonyme
19 oct. 2008 à 14:41
alors un truc

faire un insert ignore

de ce fait si l'enregistrement (avec la clé primaire) existe déjà il ne sera pas inséré.
-1

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

Posez votre question
Utilisateur anonyme
19 oct. 2008 à 15:19
Vu,
vous lancez une requête et si le retour dit que l'enregistrement exite déjà vous pouvez faire un javascript qui dit que l'enregistrement existe déjà.
qu'est ce qui vous gêne avec le rechargement d'une page ?
-1
Utilisateur anonyme
19 oct. 2008 à 15:35
si ce mélange vous convient y a pas de soucis.
de mon côté, un scipt vérifie et rechaghe la page avec des champs cachés au besoin.
je n'ai pas rencontré de problème de timing et pour l'instant tout me convient dans ce que je fais.

-1
Utilisateur anonyme
19 oct. 2008 à 15:56
les seuls incovénients vous les avez signalés vous mêmes : la taille des données dans le js.
bonne continuation
-1