Messages de TiPunK

Un sujet, 12 messages
JavaScript / AJAX » Autocompletion : 2 champs (ou plus)
**j0k3r_n0ir** : > Je ne pense pas que le header et die empeche de faire quoi que ce soit. Par contre je trouve bizarre que tu fasse une recherche '%blabal%', plutot que 'blabla%' comme fait de base.
* Apparament, vu que c'est le contenu de mon index.php qui change, page après page, j'ai beaucoup de mal à gérer ça. En effet, est-ce que le header() ne prend pas le dessus sur ma page ?
(voir le bug en haut de ma page "index.php?page=ajout_taxon")
* Dans le "autocompletion_genre_et_espece_associes.php", le variable $_POST['id_nom_famille'] n'est pas transmise automatiquement dans le second elseif()...
(NDLR : toutes mes variables contenant "famille" contiennent désormais "nom_famille", exigences de mon binôme oblige...)
* Les variables de connexion ne passent plus en automatique, dans le php d'autocompletion inclus en haut du index.html
* La fonction Javascript onclick="window.location='javascript:history.back();'" ne me conserve pas les données incluses en js lorsque je reviens à la page précédente...
Pour plus de visuel, [voici l'exemple concret et complet de mon objectif](http://tipunk.free.fr/pbv/Contributions/www%28J0k3R%29.zip "Lien")
En ce qui concerne les %...% pour répondre à ta question, je souhaite que chacun des champs soit réellement un système de suggestion. Par exemple, je me souviens vaguement d'un nom de famille qui ressemblait à bietaceae... je tape 'bieta', il me sort 'Abietaceae'. C'est mieux, non ?
JavaScript / AJAX » Autocompletion : 2 champs (ou plus)
Argh, je rebloque... ^^ Je suis en train de me tenter au triple champs. **J0k3R** :
> en mettant en paramètre, l'id_pays **et** l'id_ville.
Comment tu rajoutes dans les paramètres ?
**Code **
``espece_completer = new Ajax.Autocompleter('espece','espece_update','../Autocompletion/autocompletion_genre_et_espece_associes.php',
{
method: 'post',
paramName: 'espece',
parameters: 'id_genre='+$F('genre_id')la_je_mets_quoi?_Un_+_je_suppose,_ou_un_&'id_famille='+$F('famille_id'),
minChars:1,
afterUpdateElement: retour
}
);``
**J0k3R** :
> Rajouter un observe pour prendre en compte la perte du focus sur le champ ville et ainsi mettre à jour l'Autocompleter du champ département.
Donc je suppose...
**Code **
``Event.observe(
'genre',
'blur',
function(){
espece_completer.options.defaultParams='id_genre='+$F('genre_id')
}
);``
**J0k3R** :
> Et pour finir, rajouter un elseif dans le script PHP.
Simplement comme ça ?
**Code **
``elseif(isset($_POST['id_genre'])){ // renvoyé par le troisième Autocompleter


header('Content-type: text/html; charset=iso-8859-1');
// on fait la requête
$sql_espece = "SELECT distinct `Espece` FROM `taxons` WHERE `Famille` = '".$_POST['id_famille']."' AND `Genre` = '".$_POST['id_genre']."' AND `Espece` LIKE '%".$_POST['espece']."%' ORDER BY `Espece`";
$req_espece = mysql_query($sql_espece);
$j = 0;
echo '<ul class="contacts">';
// on boucle sur tous les éléments
while($autoCompletion_espece = mysql_fetch_assoc($req_espece)){
echo '
<li class="contact"><div class="nom">'.$autoCompletion_espece['Espece'].'</div></li>';
// on s'arrête s'il y en a trop
if (++$j >= 10)
die('<li>...</li></ul>');
}
echo '</ul>';
die();
}``
En fait, ce qui me bloque apparament est l'utilisation de $_POST['id_famille'] dans la troisième requête... Sans la famille il va très bien me chercher dans la base les espèces se rapportant au genre, mais vu que, tout comme il existe des Paris ailleurs qu'en France, j'ai des noms d'espèces appartenant à plusieurs familles, j'aimerais conserver la variable pour la requête de l'espèce, or elle a tout l'air de disparaitre.
Par ailleurs, je me demande si les fonctions header() et die() ne gène pas pour le transfert des données... Je testerai ça quand les trois champs fonctionneront de concert, correctement.
JavaScript / AJAX » Autocompletion : 2 champs (ou plus)
Pour une erreur à la con, c'était une erreur à la con... Je m'en suis (presque) bien sorti au final, pour quelqu'un qui n'avait jamais fait de JavaScript, non ? J'ai droit à ma note professeur ? :P
JavaScript / AJAX » Autocompletion : 2 champs (ou plus)
J'ai vraiment un gros souci. Pourtant, la logique est là. Ca fait deux jours, depuis ton article hier matin, que je travaille à transférer ces paramètres. Le souci est que la base de données n'est pas modifiable. Je ne peux diviser les tables et attribuer des identifiants. Je me suis battu avec le code, mais pour l'instant c'est lui qui gagne. Par exemple, tel qu'il est, dès que je saisis quelquechose dans la case du genre, la variable POST de la famille se vide sous Firefox 2.0 (pas sous IE7). Pourquoi ? J'en sais strictement rien. Je pense pourtant n'avoir utilisé que du DOM dans la fonction... Peux-tu jeter un oeil sur [ce que j'ai tenté](http://tipunk.free.fr/Unused/Autocompletion.zip "Lien") si tu en as le temps s'il te plait ?
Merki beaucoup !
JavaScript / AJAX » Autocompletion : 2 champs (ou plus)
Merci beaucoup J0k3R, voila qui me sera bien utile...
JavaScript / AJAX » Autocompletion : 2 champs (ou plus)
Oki, pas de soucis, je laisse cette précieuse étape en suspens en attendant ton message.
**j0k3r_n0ir** : > Si j'ai pas fait l'article d'ici ce week end, je vous dirais comment faire ;)
:P Je t'attends...
Je suis d'autant plus content, après avoir lu le tutoriel, de savoir que ma structure est bien conforme. ;) (à la différence près que le global est dans un tableau, *non mea culpa*, mon binôme veut pas changer)
**j0k3r_n0ir** : > Détailles un peu.
Déjà un site en frame ... hum c'un peu has been !!!
En fait c'est toujours l'index qui est rafraichi, en fonction du contenu d'une variable passée en GET, il n'y a pas de cadre réel. Il est totalement valide XHTML 1.0 strict d'ailleurs.
Ca donne ça :
**Code **
``<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>

<!-- Titre de la page -->
<title>PDB</title>
</head>

<!-- Fin Haut de page -->



<!-- Corps de page -->
<body>

<!------------------------------------>

<!-- Premier "Bloc": Entête et Menu -->
<!------------------------------------>

<?php
// Préparation de la connexion a phpMyAdmin
include('./config/config_access.inc.php');

include('entete.html'); // Nous appelons l'entete du site
?>


<!-- Fin du premier Bloc -->

<!------------------------------------------>

<!-- Deuxième "Bloc": Affichage Dynamique -->
<!------------------------------------------>
<table style="border: 1px solid #000; width: 100%; background-color: #FFF;">
<tr>

<td>
<?php

/*********************************************************************************/
/* Le bloc de code php ci-dessous est utilisé ici afin de sécuriser le site web: */
/* Seul un nombre limité de page peut ainsi être affiché. */
/* Une URL incorrecte renvoit à l'accueil du site */
/*********************************************************************************/


// Liste des pages autorisées
$valid_page = array( 'menu_ajout' => './menu_ajout.html',
'menu_MAJ' => './menu_MAJ.html',
'taxon' => './Insertion/Nouveau_taxon.html',
'ajout_taxon' => './Insertion/Ajout_table_taxon.php',
'MAJ_taxon' => './MAJ/MAJ_taxon.php',
'MAJ_table_taxon' => './MAJ/MAJ_table_taxon.php'
);



// La page appartient t'elle à la liste des pages autorisées ?

if ( (isset($_GET['page'])) && (isset($valid_page[$_GET['page']])) ) {
include($valid_page[$_GET['page']]); // Pages principales
}else{
include('test.html'); // Page par défaut ( Se charge à la place d'une page non autorisée )
}
?>

</td>
</tr>
</table>


<!-- Fin du deuxième Bloc -->

<!-- Pied de page -->


<div class="pied_page"><p class="ppp"><a href="http://www.php.net/" target="_blank"><img border="0" src="./img/icone_php.png" title="Built with PHP!"></a><a href="" target="_blank"><img border="0" src="./img/css.gif" title="Valid CSS"></a></p></div>



</body>
<!-- Fin du Corps de page -->

</html>``
Ok, merci patron ! ;) J'aurai ensuite une autre petite question sur le sujet, est-ce que l'intégration dans des pseudo-frames d'un site ne pose pas de problème ? Je te demande ça par rapport aux inclusions : je navigue sur l'index de mon site en permanence, donc l'intégration du DOCTYPE est assez délicate je pense, vu qu'elle doit se trouver en dehors de la balise <ashteumeuleu>. Dois-je alors faire une intégration pré-document une bonne fois pour toutes, dans l'index ?
H.S. total (désolé) : Je viens de voir que tu as suivi la formation de M.I.W. à Gap.
Je suis de Gap à la base, bien que je sois parti depuis 8 ans déjà...
Actuellement je suis en Master de Bioinformatique sur Montpellier, et je trouve ta formation super intéressante. Ca peut être un sacré complément en plus de mon Master. Pis un petit retour au pays ça serait cool ! :p

(12 résultats)


Catégories


Tags


Liens