8792 sujets

Développement web côté serveur, CMS

Bonjour tout le monde Smiley smile

Je sollicite à nouveau votre aide cette fois si pas vraiment pour un problème mais pour une recherche.

J'ai un fichier html qui comporte des des liens cliquables les uns en dessous des autres, comme ceci :

<a href="http://">lien 12</a><br />
<a href="http://">lien 9</a><br />
<a href="http://">lien 45</a><br />
<a href="http://">lien 3</a><br />

Et je cherche donc un moyen de régénérer le fichier dans l'ordre alphabétique, une fonction, un miracle ?

<a href="http://">lien 1</a><br />
<a href="http://">lien 2</a><br />
<a href="http://">lien 3</a><br />
<a href="http://">lien 4</a><br />


Merci d'avance pour vos lumières Smiley cligne
Modifié par Spark (14 Mar 2007 - 18:25)
Administrateur
Bonjour,

Est-ce que 12 doit rester 12 et le tout être trié ainsi:
1
2
6
10
12
100
(et pas 1 10 100 12 2 6)
ou bien
quelque soit l'intitulé des liens au départ, ça doit devenir:
1 2 3 4 5 +1 +1 etc
et là un preg_replace fera l'affaire ...
?
Felipe a écrit :
Est-ce que 12 doit rester 12 et le tout être trié ainsi:
1
2
6
10
12
100
(et pas 1 10 100 12 2 6)


Oui c'est bien comme ca, mais là je donne des chiffres pour exemple, dans la pratique ce sont des titres comportant parfois des caractères spécieux (- ' : ; &)

<a href="http://www.mondomaine.com/dossier/ficher.html">zegfz : zefzef&freg</a> (azerty)<br />

Modifié par Spark (04 Mar 2007 - 11:19)
Ca dépend... tu les as d'où ces liens ?
Si c'est un tableau à la base, les fonctions genre sort feront l'affaire.
Sinon... ce serait pratique de les avoir en tableau.
QuentinC a écrit :
Ca dépend... tu les as d'où ces liens ?
Si c'est un tableau à la base, les fonctions genre sort feront l'affaire.
Sinon... ce serait pratique de les avoir en tableau.


Dans un fichier html (qui est généré) les uns à la suite des autres.

<a href="http://www.mondomaine.com/dossier/ficherrey.html">zegfz : zrtjf&freg</a> (azerty)<br />
<a href="http://www.mondomaine.com/dossier/ficherrjje.html">zr'ehzergeh&freg</a> (qwerty)<br />
<a href="http://www.mondomaine.com/dossier/ficher.html">zergzerherhef&freg</a> (azerty)<br />
<a href="http://www.mondomaine.com/dossier/ficher.html">zegfz : zefergf&fregetj</a> (gherty)<br />



Pour faire plus simple au lieu de générer un fichier html, j'essais de remplir les infos (lien/titre) dans une base de données, je rencontre quelque difficultés à écrire dans la base mais c'est sans doute la meilleur solution.

Je suis srtout très intéressé par la faisabilité de passer par un fichier.
Tourne toi vers les Regex et la lecture d'un fichier en php.
Mais vu que n'y connais pas grand chose en php, ca risque d'être compliquer.

Je te suggere dns de gérer ceci par base de donnée.

Ta table "liens"
CREATE TABLE `liens` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(100) NOT NULL default '',
  `url` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ;


Ton script php te permettant d'ajouter des liens dans la bdd. On va l'appeler "admin-liens.php" <- a toi de securiser ceci.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Admin liens</title>
</head>

<body>
<?php
switch($_GET['a']){
	case"add":
		echo"
			<table border=\"0\">
			<form method=\"post\" action=\"admin-liens.php?a=insert\">
				<tr>
					<td>Titre</td>
					<td><input type=\"text\" name=\"title\" /></td>
				</tr>
				<tr>
					<td>Url</td>
					<td><input type=\"text\" name=\"url\" /></td>
				</tr>
				<tr>
					<td colspan=\"2\"><input type=\"submit\" value=\"Ajouter\" /></td>
				</tr>
			</form> 
			</table>
		";
	break;
	case"insert":
		$title	= mysql_escape_string($_POST['title']);
		$url	= $_POST['url'];
		$q=mysql_query("insert into liens(title,url) values('$title','$url')");
		echo"Lien Ajouté avec succès.<br><script type=\"text/javascript\">window.setTimeout(\"location=('admin-liens.php');\",2000)</script>";
	break;
	case"edit":
		$id=$_GET['$id'];
		$q=mysql_query("select title,url from liens where id='$id'");
		list($title,$url)=mysql_fetch_row($q);
		echo"
			<table border=\"0\">
			<form method=\"post\" action=\"admin-liens.php?a=update\">
			<input type=\"hidden\" name=\"id\" value=\"$id\" />
				<tr>
					<td>Titre</td>
					<td><input type=\"text\" name=\"title\" value=\"". stripslashes($title) ."\" /></td>
				</tr>
				<tr>
					<td>Url</td>
					<td><input type=\"text\" name=\"url\" value=\"$url\" /></td>
				</tr>
				<tr>
					<td colspan=\"2\"><input type=\"submit\" value=\"Modifier\" /></td>
				</tr>
			</form> 
			</table>
		";
	break;
	case"update":
		$id		= $_POST['id'];
		$title	= mysql_escape_string($_POST['title']);
		$url	= $_POST['url'];
		$q=mysql_query("update liens set title='$title', url='$url' where id='$id'");
		echo"Lien Modifié avec succès.<br><script type=\"text/javascript\">window.setTimeout(\"location=('admin-liens.php');\",2000)</script>";
	break;
	default:
		$q=mysql_query("select id,title from liens order by id desc");
		while(list($title,$url)=mysql_fetch_row($q))
			{
				$b.="
					<tr>
						<td>$id</td>
						<td><a href=\"admin-liens.php?a=edit&id=$id\">Editer</td>
						<td>". stripslashes($title) ."</td>
					</tr>
				";
			}
		echo"
			<a href=\"admin-liens.php?a=add\">Ajouter un lien</a><br /><br />
			<table border=\"0\">
				<tr>
					<td><b>Id</b></td>
					<td><b>Editer</b></td>
					<td><b>Titre</b></td>
				</tr>
				$b
			</table>
		";
}
?>
</body>
</html>


et enfin le script php qui va t'afficher tes liens par ordre alphabétique :

<?php
$q=mysql_query("select title,url from liens order by title asc");
while(list($title,$url)=mysql_fetch_row($q))
	{
		echo"<a href=\"$url\">". stripslashes($title) ."</a>";
	}
?>


Te voilà une bonne base déjà Smiley cligne
kendyan a écrit :
Tourne toi vers les Regex et la lecture d'un fichier en php.
Mais vu que n'y connais pas grand chose en php, ca risque d'être compliquer.

Je te suggere dns de gérer ceci par base de donnée.


Te voilà une bonne base déjà Smiley cligne



Merci pour tout ca mais je l'ai déjà fais Smiley cligne

Quant a gérer 8000 lignes via un formulaire ... Smiley sweatdrop

Comme je l'ai dis au début ce n'est pas un problème mais une recherche vers de nouveau horizon ^^

J'étais surtout curieux de savoir si c'est possible d'éditer un fichier de façon un peu poussé.

Le Regex à l'ère très intéressant et aussi compliqué Smiley ohwell

Merci, je vais étudier ça Smiley smile