Avatar billede benneharli Juniormester
22. januar 2007 - 22:17 Der er 31 kommentarer og
1 løsning

link for hvor vaerdi i array

jeg har et array, og for hver vaerdig i arrayet skal jeg lave et link paa en side.

hvad gor jeg lige?

Linksene skal som navn have den placering vaerdien har i arrayet.

Eks.:
vaerdi nummer 1 = 1 ; navn = 1
vaerdi nummer 17 = 33 ; navn = 17

og saa skal jeg have 3 variabler + vaerdien med hen paa naeste side.
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:21 #1
www.php.net/foreach

Og så kan du tage værdierne med som GET, POST eller SESSION-variabler
Avatar billede benneharli Juniormester
22. januar 2007 - 22:27 #2
helt aerligt... forklarer ikke saerligt meget. har set paa php.net, men skal bruge noget der er mere specifikt mht. mit problem...
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:30 #3
Så må du nok forklare lidt mere eller vise noget kode.
Avatar billede benneharli Juniormester
22. januar 2007 - 22:32 #4
ok... her er siden hvor jeg modtager variabler fra side 1, og hvor der skal laves et link for hver vaerdi i det array jeg laver.
Avatar billede benneharli Juniormester
22. januar 2007 - 22:32 #5
<?php

error_reporting(0);

$server = $_REQUEST["server"];
$user = $_REQUEST["user"];
$password = $_REQUEST["password"];
$dvr = $_REQUEST["dvr"];

if ($dvr == "DVXe") {
    $card = 1;
    $cam = 8;
} else if ($dvr == "DSXPress 16") {
    $card = 4;
    $cam = 4;
} else if ($dvr == "DSXPress 32") {
    $card = 4;
    $cam = 8;
} else if ($dvr == "DSXPress 1 XMUX - 16") {
    $card = 1;
    $cam = 16;
} else if ($dvr == "DSXPress 2 XMUX - 16") {
    $card = 2;
    $cam = 16;
} else if ($dvr == "DSXPress 3 XMUX - 16") {
    $card = 3;
    $cam = 16;
} else if ($dvr == "DSXPress 4 XMUX - 16") {
    $card = 4;
    $cam = 16;
} else if ($dvr == "DSXPress 1 XMUX - 32") {
    $card = 1;
    $cam = 32;
} else if ($dvr == "DSXPress 2 XMUX - 32") {
    $card = 2;
    $cam = 32;
} else if ($dvr == "DSXPress 3 XMUX - 32") {
    $card = 3;
    $cam = 32;
} else if ($dvr == "DSXPress 4 XMUX - 32") {
    $card = 4;
    $cam = 32;
}

$start1 = 1;
$end1 = $cam;

if ($card > 1) {
$start2 = 33;
$end2 = 32 + $cam;
}
if ($card > 2) {
$start3 = 65;
$end3 = 64 + $cam;
}
if ($card > 3) {
$start4 = 97;
$end4 = 96 + $cam;
}

$array = range( $start1, $end1 );
if ($start2 != NULL) {
$array = array_merge( $array, range( $start2, $end2 ) );
}
if ($start3 != NULL) {
$array = array_merge( $array, range( $start3, $end3 ) );
}
if ($start4 != NULL) {
$array = array_merge( $array, range( $start4, $end4 ) );
}

//SHOW_ARRAY

//function show_array($array) {
//    foreach ($array as $value) {
//        if (is_array($value)) {
//            show_array($value);
//        } else {
//            echo $value . "<br>";
//        }
//    }
//}
//show_array($array);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="pragma" content="no-cache">
    <title>Pages</title>
</head>
<body>
<p align="center"><img border="0" src="header.jpg" width="768" height="101"></p>
<table width=600px align=center border=0>
    <tr><td><hr></td></tr>
</table>

here goes links

</body>
</html>
Avatar billede benneharli Juniormester
22. januar 2007 - 22:35 #6
hvert link skal som navn have placering i array, og referere til siden "script.php".

som standart skal variablerne $server, $user og $password sendes til naeste side naar der klikkes paa linket, og alt efter hvilket link der klikkes paa, skal vaerdien af denne placering i arrayet sendes videre i variablen $cam...

mere forstaelse?
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:40 #7
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="pragma" content="no-cache">
    <title>Pages</title>
</head>
<body>
<p align="center"><img border="0" src="header.jpg" width="768" height="101"></p>
<table width=600px align=center border=0>
    <tr><td><hr></td></tr>
</table>

<?php
foreach($array as $key=>$value){
echo"<a href=\"".$key."\">".$value."</a><br>";
//OBS. Nuved jeg ikke om det er lige de værdier der skal ind
}
<!--Så kan du evt lave hidden-felter her med andre variabler som skulle til den anden side-->
</body>
</html>
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:41 #8
Og så en sluttag ?> på php ;o)
Avatar billede benneharli Juniormester
22. januar 2007 - 22:46 #9
har lige lavet linket:

echo "<tr><td colspan=2 width=95%><a href='script.php?server=$server&user=$user&password=$password&cam=$cam' target='_self'>1</a></td>\n";

nu skal jeg bare have "foreach" funktionen
Avatar billede benneharli Juniormester
22. januar 2007 - 22:49 #10
perfekt ;-)
smid et svar
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:51 #11
foreach($array as $key=>$value){
echo "<tr><td colspan=\"2\" width=\"95%\"><a href=\""script.php?server=".$server."&user=".$user."&password=".$password."&cam=".$cam."\" target=\"_self\">".$value."</a></td></tr>\n";
}
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:53 #12
Nej tak. Har nok.
Avatar billede benneharli Juniormester
22. januar 2007 - 22:53 #13
;-)
Avatar billede benneharli Juniormester
22. januar 2007 - 22:54 #14
det link jeg har skrevet virker altsaa fint??? hvad er forskellen?
Avatar billede michael_stim Ekspert
22. januar 2007 - 22:59 #15
Forskellen er at jeg separerer HTML og PHP og sætter " om alle parameterne og afslutter din <tr>.
Avatar billede benneharli Juniormester
22. januar 2007 - 23:01 #16
hmm... den giver altsaa fejl den saetning du har skrevet???
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:02 #17
foreach($array as $key=>$value){
echo "<tr><td colspan=\"2\" width=\"95%\"><a href=\"script.php?server=".$server."&user=".$user."&password=".$password."&cam=".$cam."\" target=\"_self\">".$value."</a></td></tr>\n";
}
Avatar billede benneharli Juniormester
22. januar 2007 - 23:08 #18
hmm... jeg faar altsaa ikke variablerne med hen paa naeste side...

her er hvad jeg skriver i starten paa naeste side

$server = $_REQUEST["server"];
$user = $_REQUEST["user"];
$password = $_REQUEST["password"];
$cam = $_REQUEST["cam"];
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:09 #19
Prøv med $_GET['server']; osv
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:11 #20
Og prøv at klikke på "vis kilde"/"Show source" eller hold musen over linket og se om alle variablerne er i ankeret.
Avatar billede benneharli Juniormester
22. januar 2007 - 23:12 #21
nope???
Avatar billede benneharli Juniormester
22. januar 2007 - 23:13 #22
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:13 #23
nope hvad?
Avatar billede benneharli Juniormester
22. januar 2007 - 23:15 #24
ahhhh.... havde glemt echo foran variablen i mit script... sorry...
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:15 #25
Så kan du også fange variablerne på script.php med $_GET
Avatar billede benneharli Juniormester
22. januar 2007 - 23:17 #26
lige det sidste... variablen $password indeholder "maerkelige" karaktere... hvilke skal jeg passe paa med ud over ? & $ \ /
Avatar billede benneharli Juniormester
22. januar 2007 - 23:18 #27
jep
Avatar billede benneharli Juniormester
22. januar 2007 - 23:23 #28
og saa lige den aller sidste... er der noget forskel paa get og request?
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:23 #29
Du kan bruge urlencode:
www.php.net/urlencode
Avatar billede michael_stim Ekspert
22. januar 2007 - 23:26 #30
$_REQUEST tager både post og get variabler. Personligt syndes jeg det er bedst at skille dem ad. Hvis du f ex har både post og get variabler med samme navn på en side, går der kage i den.
Avatar billede benneharli Juniormester
22. januar 2007 - 23:34 #31
ah... problemer.

naar jeg bruger den her paa side 2

$password = urlencode($_REQUEST["password"]);

giver det stadig fejl. jeg skal encode paa side 1 for jeg sender... hvordan?

takker altsaa for hjaelpen ;-)
Avatar billede benneharli Juniormester
22. januar 2007 - 23:57 #32
ok... starter en ny traad... er vist ved at vaere paa tide ;-) takker
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