Parcourir trois tableaux

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Parcourir trois tableaux

Re: Parcourir trois tableaux

par Castor Gaspard » 11 août 2010, 11:42

Bonjour Stealth,

Merci, je ne connaissais pas parse_ini_file. En effet, d'après ce que j'ai lu, le traitement est (dix fois ?) plus rapide. Après, il me reste à voir si je peux exploiter facilement en écriture puis en lecture ce fameux fichier pour ne pas avoir à reprendre mon développement en entier. :mrgreen:

Je me suis laissé dire qu'un fichier .ini ne gérait pas simplement les chaînes de caractères.

Je teste et te tiens au courant.

Cordialement,

Gaspard

Re: Parcourir trois tableaux

par stealth35 » 10 août 2010, 23:39

tu peux aussi travailler avec les fichier ini, ca serai plus joli que de faire un explode sur des pipes

config.ini
[letter]
title = lettre
description = lettre de Gaspard

[text]
title = texte
description = texte de Gaspard
$config = parse_ini_file('config.ini', true);
print_r($config);
Array
(
    [letter] => Array
        (
            [title] => lettre
            [description] => lettre de Gaspard
        )

    [text] => Array
        (
            [title] => texte
            [description] => texte de Gaspard
        )

)

Re: Parcourir trois tableaux

par Castor Gaspard » 10 août 2010, 23:25

Merci de t'être donné du mal. :mrgreen:

Je teste et je raffine.

Sinon, mon idée de chercher la position fonctionne aussi avec array_search, même si elle est bricolée.

Donc je mets le sujet en "résolu", et dirai si ta solution fonctionne aussi.

Bonne soirée.

Gaspard

Re: Parcourir trois tableaux

par stealth35 » 10 août 2010, 22:53

comme ca alors (version sans verifie ni rien)
$arr = array_combine($attachments_url, array_map(null, $titles_url, $descriptions_url));

$page = $_GET['page'];

$titre = $arr[$page][0];
$desc  = $arr[$page][1];

var_dump($titre, $desc);

Re: Parcourir trois tableaux

par Castor Gaspard » 10 août 2010, 22:45

Hi !

Comment as-tu deviné ? Cette idée me tracasse depuis hier soir.

Je t'explique. j'ai "raffiné" (si je puis dire) ma programmation pour générer automatiquement le contenu des pages Html. Plutôt que demander à Php d'écrire une à une chaque page dans le "marbre", je me suis dit qu'll serait plus malin de les générer à la volée. Moi, j'aime quand c'est malin, quitte à développer des sophistications inutiles.

Pour aller au bout du propos, je me contenterai de générer sans rewriting en passant un simple GET : il semble que les moteurs de recherche reconnaissent les Url sous cette forme si elles ne sont pas trop longues.

Qu'en penses-tu ?

Bon, pour en revenir à ma question, j'ai une piste de raisonnement. En fait, il faudrait que j'arrive à déterminer la position dans $attachments_url de la valeur que je recherche. Après, ce sera très simple.

Merci pour tes conseils.

Gaspard

Re: Parcourir trois tableaux

par stealth35 » 10 août 2010, 22:17

les fichiers existes sinon tu va devoir faire du rewirting ?

Re: Parcourir trois tableaux

par Castor Gaspard » 10 août 2010, 20:44

...

Ben, au final, je voudrai qu'en appelant $attachments_url s'affichent $titles_url et $descriptions_url. Manuellement, je pourrai le faire, mais alors la programmation perd de l'intérêt... Imaginons que j'ai 50 url, il serait bête de passer chacune en revue. :mrgreen:

Merci.

Gaspard

Re: Parcourir trois tableaux

par stealth35 » 10 août 2010, 20:07

tu voudrais que ca te donne quoi au final ?

Re: Parcourir trois tableaux

par Castor Gaspard » 10 août 2010, 19:49

...

Hélas, non, ça ne réordonne pas le tableau par clé.

De plus, dans cette proposition, comment vais-je pouvoir retrouver la valeur $attachment_url pour afficher les données correspondantes ?

Enfin, comme je suis légèrement âne, je pensais que mes données étaient dans des tableaux, mais je n'en suis plus certain, puisque je dois à chaque fois les déclarer avec array() dans mes tests. :mrgreen: Pourtant, je pensais que la forme $a = "bonjour|aurevoir" correspondait à un tableau.

Merci.

Gaspard

Re: Parcourir trois tableaux

par stealth35 » 10 août 2010, 19:23

tu peux les combiner
$arr = array_map(null, $attachments_url, $titles_url, $descriptions_url);
print_r($arr);

Re: Parcourir trois tableaux

par Castor Gaspard » 10 août 2010, 19:14

Bonsoir,

Merci de t'intéresser au problème, Stealth.

Absolument, il y a la même nombre de valeurs dans chaque tableau qui se correspondent une à une...
$attachments_url = 'letter.php|text.php';
$titles_url = 'lettre|texte';
$descriptions_url =  'lettre de Gaspard|texte de Gaspard';
(Comme tu l'as compris sans doute, les données servent à constituer des en-têtes de pages.)

array_combine serait peut-être une piste, mais cette fonction ne me permettra pas de retrouver l'élément correspondant à $attachment_url, non ? :D

Merci.

Gaspard

Re: Parcourir trois tableaux

par stealth35 » 10 août 2010, 19:00

il on la même taille et corresponde entre eux ?

Parcourir trois tableaux

par Castor Gaspard » 10 août 2010, 18:56

Bonjour,

Je ne sais pas par où commencer sur le plan du raisonnement, et m'en remets (encore à vous)...

J'ai trois tableaux de valeurs, et souhaiterai afficher une à une ces valeurs :
- $attachments_url;
- $attachements_title;
- $attachments_description.

En appelant $attachements_url['0'], je voudrai retrouver $attachements_title['0'], et ainsi de suite...

Je sais "exploser" mes tableaux :
$attachment_url = explode("|", $attachments_url);
$attachment_title = explode("|", htmlspecialchars(str_replace(array('’', ' '), array('\'', ' '), $attachments_title)));
$attachment_description = explode("|", str_replace('’', '\'', $attachments_description));
Je sais afficher leur contenu un par un avec une boucle.

Mais je n'arrive pas à lier les éléments.

En effet, si je connais la valeur d'un $attachment_url (obtenu, par exemple avec la méthode GET), comment afficher les deux autres valeurs ?

J'espère avoir été clair.

Mille merci.

Cordialement, :mrgreen:

Gaspard