11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous.

Mes bases et mes connaissances en AJAX sont beaucoup trop rudimentaires pour m'en sortir...
J'aurais besoin de votre aide !

Dans le bloc "loader00", j'ai une roulette d'attente qui devrait :
- être cachée avant la recherche,
- être visible pendant la recherche et
- être cachée juste après ou avant l'affichage des résultats.

Pouvez-vous m'aider et me consacrer un peu de votre temps ?

Croyez-moi, j'ai pourtant bien essayé !

Voici le code simplifié de la page :

<?php
	session_start();
	ob_start();
	$php="recherche00";
	
	require_once("php/connexionMysql.inc.php");
	require_once("php/fonctions-panier.inc.php");

	if (isset($_GET['ix']) && !empty($_GET['ix'])) {
		$ix=$_GET['ix'];
		$query = mysql_query("SELECT * FROM shop_articles".
			" WHERE id=".$ix);
		$back = mysql_fetch_assoc($query);
		$pvhtva = $back['prix_ht'] * $back['coef'] / 100;
		$remisehtva = $pvhtva * $back['remise_pourcentage'] / 100 + $back['remise_valeur'] ;
		if ($pvhtva < 1) {
			$pvhtva = 1;
		}
		$pvhtva = round($pvhtva - $remisehtva, 2) ;
		$pvtvac = round($pvhtva * (100 + $back['taux_tva']) / 100, 2);

		ajouterArticle($ix, 1, $pvhtva);

		header("Location: boutique10.php");
		exit;
	}

	$motscles = $_POST['motscles'];
	$ligresultat="";
	if (strlen($motscles) > 0) {
		unset ($record);
		unset ($trouve);
		unset ($mot);
		$resultat=0;
		$motscles=trim($motscles);
		$motscles=removeaccents($motscles);
		$motscles=preg_replace ("/\s+/", " ", $motscles);
		$motscles=strtolower($motscles);
		$mot=explode(" ",$motscles);
		$maxmots=count($mot);
		$query = mysql_query("SELECT * FROM shop_articles");
		while ($back = mysql_fetch_assoc($query)) {
			$designation=$back['designation'];
			$designation=trim($designation);
			$designation=str_replace("&§&"," ",$designation);
			$designation=removeaccents($designation);
			$designation=strtolower($designation);
			$designation=preg_replace ("/\s+/", " ", $designation);
			$nb=0;
			for ($ind=0; $ind<$maxmots; $ind++) {
				$pos=strstr($designation, $mot[$ind]);
				if ($pos != "") {
					$nb++;
				} else {
					break;
				}
			}
			if ($nb == $maxmots) {
				$trouve[]=$nb;
				$record[]=$back['id'];
				$resultat++;
			}
		}
		$ligresultat=$resultat." Résultats";
	}
	ob_end_flush();

	Function removeaccents($string){ 
		$string= strtr(utf8_decode($string), utf8_decode("ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"),
                                "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn" ); 
		return $string; 
	}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>

<title>Recherche</title>
<style type="text/css">
<!--
-->
</style>

<link rel="alternate" type="application/rss+xml" title="ROR" href="sitemap.xml" />
<link href="css/general.css" rel="stylesheet" type="text/css" media="all">
<link href="css/recherche.css" rel="stylesheet" type="text/css" media="all">
<script type="text/javascript">
<!--

-->
</script>
</head>

<body>
<script type="text/javascript" src="php/visites.php"></script>
<div id="ombre">
<div id="site">
<div id="visuel">
<div id="contenu">
      <div id="bloc12">
      Tapez<br>
      vos mots-clés<br>
      ci-dessous
      <form name="recherche" action="recherche00.php" method="post">
      	<input name="motscles" type="text" id="motscles" height="15" size="255" class="zone1" value="<?php echo $_POST['motscles']; ?>">
      </form>
      <span id="loader00" class="hidden centrer" style="width:20px;"><img src="images/recherche/loader16.gif" alt="loading" width="16" height="16" border="0" align="absmiddle" /></span>
      <div><?php echo $ligresultat; ?></div>
      </div>
      <div id="demarrer"><a href="#" onclick="javascript:document.recherche.submit(); ">Démarrer</a>
      </div>
      <div id="bloc21">
		<?php
		for ($jj=0; $jj<count($record); $jj++) {
			$reqArticle="SELECT * FROM shop_articles ".
				"WHERE id='".$record[$jj]."' ";
			$resArticle=mysql_query($reqArticle);
			$back=mysql_fetch_array($resArticle);
			$designation=$back['designation'];
			$pvhtva = $back['prix_ht'] * $back['coef'] / 100;
			$remisehtva = $pvhtva * $back['remise_pourcentage'] / 100 + $back['remise_valeur'] ;
			if ($pvhtva < 1) {
				$pvhtva = 1;
			}
			$pvhtva = round($pvhtva - $remisehtva, 2) ;
			$pvtvac = round($pvhtva * (100 + $back['taux_tva']) / 100, 2);
			$designation=trim($designation);
			$designation=strtolower($designation);
			$designation=preg_replace ("/\s+/", " ", $designation);
			unset ($libProduit);
			$libProduit = explode("&§&",$designation);
			$ligne1=$libProduit[0]." ".$libProduit[1];
			$ligne2=$libProduit[2]." ".$libProduit[3];
			if (strlen($ligne2) > 60) {
				$ligne2=substr($ligne2,0,60)."...";
			}
			echo "<div>";
			echo "<div style='width:71%; float:left; display:inline-block;'><span class='c12 orange bold majuscule'>".$ligne1."</span><br>";
			echo "<span class='c12'>".$ligne2."</span><br>";
			echo "<a href='recherche00.php?ix=".$record[$jj]."'>Ajouter au panier</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='boutique10.php'>Voir le panier</a><br>";
			echo "&nbsp;</div>";
			echo "<div style='width:28%; float:left; display:inline-block;' class='droite'><span class='c17 bleu bold'>".number_format($pvhtva,2,',',' ')." € HTVA"."</span><br>";
			echo "<span class='c10'>".number_format($pvtvac,2,',',' ')." € TVAC"."</span></div>";
			echo "<div style='width:1%; height:25px; float:left; display:inline-block;'>&nbsp;</div>";
			echo "</div>";
		}
		?>
      </div>
<script type="text/javascript">document.getElementById("loader00").style.display = "none";</script>
</div>
</div>
</div>
</div>
</body>
</html>

Modifié par jytest (26 Mar 2012 - 14:18)
Modérateur
Bonjour!

As-tu déjà fait du javascript? si oui utilises-tu une ou des bibliothèques de code (jQuery,prototype,motools) ?

a écrit :
Croyez-moi, j'ai pourtant bien essayé !

Montres-nous comment tu essaie de t'y prendre et on pourra te donner des conseils. Là il n'y a pour l'instant 0 code... c'est un peu mince.
J'avais oublié d'insérer mon code javascript.
C'est donc ok !
Modifié par jytest (26 Mar 2012 - 14:17)