Avatar billede codeadmin Nybegynder
06. juni 2013 - 16:12 Der er 8 kommentarer og
1 løsning

URL parameter

Hej

Jeg har en URL som ser fx. sådan her ud:

?parent_category=6&child_category=24&child_category=26

Sagen er den at jeg skal ind og bruge begge child_category infomationerne, men med en $_GET[] får jeg kun fat på den sidste.

Er der en kode som kan splitte en url op og lave det hele om til variabler?
06. juni 2013 - 17:27 #1
Kan du ikke bruge parce_url?  Jeg googlede lidt og fandt blandt andet dette link:  http://stackoverflow.com/questions/5257243/php-how-to-split-url
Avatar billede enkelt-webdesign Nybegynder
07. juni 2013 - 17:26 #2
Du kan også bruge explode() funktionen.

$bang = explode('&',$url);

echo $bang[0];
echo $bang[1];

explode deler her url strengen ved hvert &, og så kan du tilgå de forskellige dele ved deres index i den array

Funger det?
Avatar billede codeadmin Nybegynder
07. juni 2013 - 22:55 #3
med det som du foreslår der får jeg kun fat i den ene child_category :/
Avatar billede enkelt-webdesign Nybegynder
08. juni 2013 - 09:33 #4
Prøv en gang at udskrive et højere index :

Se længere nede ($bang[1] og $bang[2])..

Jeg har lige testet det hurtigt, og kan sagtens hente dine $_GET variabler ned via explode.

Hvis du er sikker på at din url har den struktur, og der ikke er andre variabler, så giver dette mig det ønskede resultat:

$var = '?parent_category=6&child_category=24&child_category=26';
// explode opdeler strengen i en array, opdelt fra &
$test = explode('&', $var);

echo $test[1].'<br />'; // Udskriver : child_category=24
echo $test[2]; // Udskriver : child_category=26

Burde fungere?
Avatar billede enkelt-webdesign Nybegynder
08. juni 2013 - 09:36 #5
Men hvorfor ikke tildele dem forskellige navne?

child_cat

sub_child_cat

Anyways, det andet burde virke, ellers kan du altid overveje om det er en mulighed at ændre navn på dine url variabler :-)
Avatar billede enkelt-webdesign Nybegynder
08. juni 2013 - 09:46 #6
Det er selvfølgelig en lidt omstændig måde, når de skal hedde det samme...

For at isolere dem igen, skal du igen have brudt de to forskellige strenge ned så du kun har din numeriske værdi tilbage, så endnu en explode eller en str_replace på hhv. $bang[1] og $bang[2].

Første child_category :
$child_one = explode('=',$bang[1]);
echo $child_one[1];

eller :
$child_one = str_replace('child_category=','',$bang[1]);
echo $child_one;

Andet child_category :
$child_two = explode('=',$bang[2]);
echo $child_two[1];

eller :
$child_two = str_replace('child_category=','',$bang[2]);
echo $child_two;

Hvis de hed noget forskelligt, altså hvis det var muligt kunne de jo hurtigt tilgåes via $_GET['cat_one'] - $_GET['cat_two'] osv..

Måske er der en smartere mådem, men håber at du kan bruge det, burder kunne give dig dine værdier..
12. juni 2013 - 06:19 #7
codeadmin, ved nærmere eftertanke tror jeg, at jeg fik forkert fat på spørgsmålet.  Du siger:  "Jeg har en URL som ser fx. sådan her ud: ?parent_category=6&child_category=24&child_category=26 "

Hvor ved du nu, at du rent faktisk har en url med begge child_category værdier?  Har du kunnet se det på en eller anden måde?

Du forsøger at bygge en url med to child_category værdier, men er det ikke således, at den anden værdi overskriver den første?  Jeg har ikke kunne finde en måde at teste det på, men jeg tror nu, at du stiller en umulig opgave, og at du må rette programmet til, således at hvis du skal bruge to værdier må du give dem forskellige navne.
20. juni 2013 - 16:51 #8
codeadmin, kom du fra det igen?  Du oprettede spørgsmålet og reagerede på de første par indlæg, men siden da har du været tavs.  Har du fået de senere indlæg?  Har de været til nytte?  Kom ind og fortæl hvad din videre hensigt er med tråden.  Eller er spørgsmålet ikke længere aktuelt?  I så fald luk det venligst igen.  Indlæggene var ment som en hjælp, som du bad om.  Lad os nu ikke blive hængende i et åbent spørgsmål.
18. december 2013 - 12:28 #9
codeadmin, jeg prøver lige en gang mere.  Dette spørgsmål er åbenbart ikke længere aktuelt, så kan jeg bede dig lukke det igen, ifølge Ekspertens regler.  Eller komme ind og fortælle hvad din videre hensigt er.  Jeg opretter dette som et svar ifald du skulle mene at have haft hjælp af mine indlæg.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester