Bonjour,
C’est mon premier développement SPIP et j’ai besoin d’être aiguillé.
J’ai écrit un programme qui affiche des enregistrements d’une table Bota (en fonction de 2 critères donnés par un formulaire), que j’ai crée dans une base gmbvs980887_1krvim.
J’ai donc une page ajax.html et ajax.php qui renvoie le résultat
Hors spip, ça marche.
J’ai tenté de mettre le code html dans un article.
J’ai lu la doc de programmer.spip.net et ça me parait bien compliqué.
Le formulaire s’affiche mais pas le résultat.
Question 1 : dois-je tout convertir en squelette spip ou faire seulement des modifications mineures, même si ce n’est pas très propre ?
Question 2 : comment on fait ensuite appel à ce squelette dans un article ?
Merci de votre aide.
situation actuelle : içi
code html :
<!DOCTYPE HTML>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel = "stylesheet" href = "synonymes.css">
<script type="text/javascript">
function Search()
{
genre1=document.getElementById("genre").value;
espece1=document.getElementById("espece").value;
if (genre1=="" && espece1=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax1.php?q="+genre1+"&e="+espece1,true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2> Recherche des synonymes </h2>
<p> La recherche s'effectue dans une base de 83545 synonymes</p>
<form id="monform">
Genre : <input id="genre" type="text"/>  
Espèce : <input id="espece" type="text"/>
<input name="rechercher" type="button" value="Rechercher" onclick="Search()"/>
</form>
<br />
<div><b>résultats trouvés :</b><br /><br />
<span id="txtHint"></span>
</div>
</body>
</html>
code php :
<?php
$genre=$_GET["q"];
$espece=$_GET["e"];
//recup
//$genre = $_POST["titre"];
$db = mysqli_connect( $host = 'localhost', $user = 'nom_user', $password = 'password', $database = 'bota', '3307' );
mysqli_set_charset($db, 'utf8mb4');
if ($db -> connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
exit();
}
// on crée la requête SQL
$result = mysqli_query($db, "SELECT * FROM bota_synonymes where espece LIKE '$espece%' and genre LIKE '$genre%'");
$retour = "";
echo "<table class=\"t1\">";
echo "<tr><th>taxon</th><th>Synonyme</th><th>nom français</th></tr>";
while($donnees = mysqli_fetch_assoc($result)) {
$retour .= "<tr><td>" . $donnees['Taxon'] . "</td><td>" . $donnees['synonyme'] . " </td><td>" . $donnees['nom_francais'] . "</td> </tr>";
}
//envoi au navigateur
echo $retour;
echo "</table>";
// on ferme la connexion à mysql
$db->close();
?>
CSS :
table {
border-collapse : collapse;
}
.t1 tbody tr td, .t1 tbody tr th {
border : 1px solid orange;
}
.t1 {
border-spacing : 150px;
}
th, td {
padding-left: 10px;
padding-right: 10px;
}