<?php
/*
	Voir l'exemple d'avant !!!
*/

/* Cette fonction permet d'éviter des problèmes de sécurité lorsqu'on récupère des variables
  via $_GET ou $_POST */
function protection_chaine($str) {
	if(!get_magic_quotes_gpc()) {
		$str = addslashes($str);
	}
	
	$str = htmlspecialchars($str);
	return $str;
}

mysql_connect("localhost","ikfac","pouet2"); /* Connection */
mysql_select_db("ikfac"); /* Choix de la base */

$nom = isset($_POST['nom']) ? $_POST['nom'] : "";
$prix = isset($_POST['prix']) ? $_POST['prix'] : "";
$proprio = isset($_POST['proprio']) ? $_POST['proprio'] : "";

if($nom && $prix && $proprio) { // si on a toutes les infos pour ajouter qq chose, on l'ajoute
	$nom = protection_chaine($nom); //on protège la chaine, sinon les méchants pas beaux peuvent casser la base
	$prix = (int) $prix; // prix est forcement un entier
	$proprio = protection_chaine($proprio);
	$sql="INSERT INTO test VALUES ('','$nom','$prix','$proprio')";
	mysql_query($sql);
	echo "1 ligne ajoutée ! ";
}

$by = isset($_GET['by']) ? $_GET['by'] : "";
$order = isset($_GET['order']) ? $_GET['order'] : "ASC";

echo "<h1>Création d'un tableau html</h1>";
echo "Cliquez sur les titres des colonnes";
$sql = "SELECT * FROM test"; /* On selectionne tout dans la table test */

if($by == "id") {
	$sql .= " ORDER BY id ";
} else if($by == "nom") {
	$sql .=" ORDER BY nom ";
} else if($by == "prix") {
	$sql .=" ORDER BY prix ";
} else if($by == "proprio") {
	$sql .=" ORDER BY proprio ";
} else {
	$by = ""; /* by n'a pas une valeur valide -> on dit qu'il est égal a rien */
}

if($by && $order) { /* si on sais par quoi on peux trier */
	if($order == "ASC") {
		$sql .= " ASC ";
		/* On inverse */
		$order = "DESC";
	} else {
		$sql .= "DESC";	
		$order = "ASC";
	}
}

$req = mysql_query($sql); /* On execute la requette */
?>
<table style="border: 1px solid #000">
	<tr>
		<th><a href="exemple11.php?by=id&amp;order=<? echo $order ?>">id</a></th>
		<th><a href="exemple11.php?by=nom&amp;order=<? echo $order ?>">nom</a></th>
		<th><a href="exemple11.php?by=prix&amp;order=<? echo $order ?>">prix</a></th>
		<th><a href="exemple11.php?by=proprio&amp;order=<? echo $order ?>">proprio</a></th>
	</tr>
<?php
while($tab = mysql_fetch_array($req)) {
	echo "<tr>";
	echo "<td>". $tab['id'] ."</td>";
	echo "<td>" . $tab['nom'] ."</td>";
	echo "<td> " . $tab['prix'] . "</td>";
	echo "<td>" . $tab['proprio'] . "</td>";
	echo "</tr>";
}
?>
</table>

<hr/>
<form method="post" action="exemple11.php">
	<label for="nom">Nom: </label>
	<input type="text" id="nom" name="nom" />
	<label for="prix">Prix: </label>
	<input type="text" id="prix" name="prix" />
	<label for="proprio">Proprio: </label>
	<input type="text" id="proprio" name="proprio" />
	<input type="submit" value="Ajouter" />
</form>

<?php
mysql_close(); /* Fermeture de la connec */
/* On s'en fout là, c'est juste pour afficher la source */
include("hl.php");
hl('exemple11.php');
?>