8791 sujets

Développement web côté serveur, CMS

J'ai une petite question, certain vont trouver nul ce que je fais, mais j'ai pas trouvé mieux ou alors je n’ai rien compris au tuto^^.

J'ai un fichier .htacess avec ce genre de ligne:
rewriteRule ^film-09-1-09.php$ film.php?tbl=09&id=1&ltrl=09&ret=&afficheretour=Retour [L]
rewriteRule ^film-09-25-09.php$ film.php?tbl=09&id=25&ltrl=0/9&ret=&afficheretour=Retour [L]
rewriteRule ^film-09-50-09.php$ film.php?tbl=09&id=50&ltrl=0/9&ret=&afficheretour=Retour [L]

=> Avec un code qui me marque les lignes avec le +1... mais je dois les copier dans le fichier Smiley decu

J'en est mis plein au moins je suis tranquille, car comme je l'ai dit j'ai pas trop compris, comment le faire automatiquement.

Le problème c'est que les éléments de mes tables ont un peu un id au hasard(certain), ils ont toujours des chiffres, mais ils viennent d'autre table et les ID ne se suivent pas, donc ce n'est pas très pratique.
=> Je me complique toujours la vie^^. Mais avec ce système il risque d'y avoir des problèmes et ce n'est pas très pratique.

J'aimerais donc savoir si il y a une requête SQL qui peut mettre à jour le champ "id" de mes tables et dit ajouter +1 a chaque fois.
UP quelqu'un peut m'aider ??? Par contre les page rame beaucoup plus qu'avant j'ai lu qu'on peut y appliquer un système de cache mais le navigateur le fait normalement ?
j4AI TOUT réussi je rame un peut(et surtout le pc), mais j'y arrive.
Le pc rame beaucoup a charger les pages depuis que j'ai mis ce système d'url rewriting Smiley decu .

J'avais déjà trouver ce tuto c'est par lui que j'ai commencer^^.

Depuis j'ai beaucoup simplifier l'adresse et enlever beaucoup de lignes mais ca rame encore beaucoup alors que c'est en local.

Donc il faudrait que j'utilise a mettre un système de cache(pas encore réussi a le faire marcher^^) et refaire l'id de mes table et ca devrait mieux marcher.
J'ai trouver ce code:

[code=]<?php
//durée d'expiration en secondes d'une page mise en cache
$timeout = 1;

//on lit l'adresse de la page
$url = $_SERVER['REQUEST_URI'];

// on transforme l'adresse en nom de fichier
$url = str_replace('/','-',$url);

// si l'adresse est la racine du site, on change le nom en index.html
if($url == "-") $url = "-index.html";

// on construit le chemin du fichier cache de la page
$fichier_cache = "cache/cache".$url;

//on vérifie si la page n'existe pas dans le cache ou si elle a expiré
if (@filemtime($fichier_cache) < (time() - $timeout)) {
//on va récupérer les données pour les mettre en cache
//pour cela on démarre la bufferisation de la page
ob_start();
?>
<?php
$reponse = $bdd->query('SELECT * FROM `A` WHERE id =46') or die(print_r($bdd->errorInfo()));

// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<?php echo $donnees['titrescon']; ?>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>
Code qui sera mis en cache

<?php
//on récupère le contenu du buffer et on l'arrête
$cache = ob_get_contents();
ob_end_flush();

// on ouvre le fichier cache
$fd = fopen($fichier_cache, "w");
if ($fd) {
// on ecrit le contenu du buffer dans le fichier cache
fwrite($fd,$cache);
fclose($fd);
}
}
else {
// le fichier cache existe déjà et est valide, on l'affiche
include($fichier_cache);
}
?>[/code]

Il crée une page PHP a chaque fois j'ai l'impression que c'est plus rapide a charger qu'avant.
Modifié par loixi (09 Oct 2010 - 18:53)
Salut,

hem... tu commences par une question sur l'urlrewriting via .htaccess et tu finis en disant que tu as trouvé un code concernant la mise en cache... c'est pour le moins confus... Smiley rolleyes

Je ne vais donc te répondre qu'à la première question : l'intérêt est de factoriser le contenu des éventuelles urls et pas d'écrire 1 RewriteRule par possibilité !

Cela pourrait donner :
Options +FollowSymlinks
RewriteEngine on
rewriteRule ^film-([0-9]+)-([0-9]+)-([0-9]+)\.php$ news.php?tbl=$1&id=$2&ltrl=$3&ret=affiche&retour=Retour [L]
Oui, c'est un peut confus, j'ai mis urlrewriting pour simplifier mes adresse et qu'elle soit plus belle... mais ca fait ramer les page, alors qu'avant aucun problème.
Donc j'ai chercher un code pour mettre mes pages en caches pour raccourcir les chargements.
Mais je doute de efficacité de ce code, j'ai pas l'impression que ca est changer quelque chose^^.

Par contre comment je fais si parfois j'ai des lettres ou des chiffres ???
Ca donnerais ça ???:
rewriteRule ^film-([0-9][A-z]+)-([0-9]+)-([A-Z]+)\.php$ news.php?tbl=$1&id=$2&ltrl=$3&ret=affiche&retour=Retour [L]

eDIT: j'ai mis deux lignes ca marche, ca rame plus^^. Ca m'évite de mettre beaucoup de lignes pour rien.
Merci.

Mais est ce que c'est possible de refaire incrémentation du champ id de mes table pour qu'elle commencent toute a 1 ???

Ou est l'érreur:
UPDATE `09` SET id = id+1;
Modifié par loixi (10 Oct 2010 - 11:20)