Avatar billede snigeren Nybegynder
26. december 2005 - 17:25 Der er 14 kommentarer og
1 løsning

mere end ét ekstra parameter i URL´en.

Jeg bruger lige nu følgende script til at hente x-antal entries ud af DB´en ad gangen med et mainId=101 f.eks. Men jeg vil også meget gerne samtidig have itemType=helark f.eks. således: products.php?mainId=101&itemType=helark

Men for at det skal virke skal følgende script ændres lidt, men jeg kan ikke selv hitte ud af hvad der skal ændres,.. håber en herfra kan hjælpe.

    $where = "";
    if ($_GET['mainId']) {
    $where = 'WHERE mainId = ' . $_GET['mainId'];
    }
   
    if(isset($_GET['s'])) {
      $start = $_GET['s'];
    } else {
      $start = 0;
    }
   
    $prside = 20;
    $basename = $_SERVER['PHP_SELF']."?mainId=".$_GET['mainId'];

    $result = mysql_query("select * from items " . $where . " order by itemId asc LIMIT $start, $prside");
   
    $q = mysql_query("select count(*) from items " . $where);
    $num_rows = mysql_result($q, 0);

    //connect
    $query1 = mysql_query("SELECT * FROM overskrifter WHERE mainId = '".$_GET['mainId']."'")or die(mysql_error());
    $overskrift = mysql_fetch_array($query1);


Mine knapper ser indtil videre således ud:
<a href="products.php?mainId=102">EBELTOFT - &Aring;RHUS</a> <br>
<a href="products.php?mainId=103">&Aring;RHUS - ODDER - HOU</a>
...

/Snig
Avatar billede jaw Nybegynder
26. december 2005 - 17:39 #1
Vil de altid være sat begge 2? For så:

    $where = "";
    if (isset($_GET['mainId']) && isset($_GET['itemType'])) {
    $where = "WHERE mainId = " . $_GET['mainId'] . " AND itemType = '" . $_GET['itemType'] . "'";
    }
Avatar billede snigeren Nybegynder
26. december 2005 - 17:53 #2
Ja det skulle jeg mene... ellers kan man så ikke med en knap sige itemType=* (alle) eller noget?
Avatar billede jaw Nybegynder
26. december 2005 - 18:17 #3
Så er det jo nærmere:

    $where = "";
    if (isset($_GET['mainId']) && isset($_GET['itemType'])) {
    $where = "WHERE mainId = " . $_GET['mainId'] . " AND itemType = '" . $_GET['itemType'] . "'";
    } else if (isset($_GET['mainId'])) {
    $where = "WHERE mainID = " . $_GET['mainId'];
    }
Avatar billede snigeren Nybegynder
26. december 2005 - 18:26 #4
ahh ja det giver jo mening,.. for dævlen da, hvornår lærer jeg at tænke som en scripter :P

Det virker jo fedt! Der er lige en ting til. Her henter jeg itemType ind:
<?php echo $row["itemType"]; ?>

Nogle af itemType navnene har _ i navnet, kan man på en eller anden smart måde ændre "_" til " "  <--- ændres til mellemrum =)
Avatar billede snigeren Nybegynder
26. december 2005 - 18:38 #5
Der er f.eks. en der hedder itemType=Enkelt_mærke

Kan man overhovedet skrive "...mærke" som del af en url når det nu sker automatisk og ikke med et keyboard, hvor æøå ikke findes på?

Ellers kunne det jo være fedt hvis man kunne skrive
Avatar billede snigeren Nybegynder
26. december 2005 - 18:40 #6
flot kom til at trykke send...

Ellers kunne det jo være fedt hvis man kunne skrive:
noget med
if(itemType=enkelt_maerke){
echo="Enkelt mærke";
}
i stedet for:
<?php echo $row["itemType"]; ?>
Avatar billede jaw Nybegynder
26. december 2005 - 19:15 #7
Du kan:
echo str_replace("_", " ", $row['itemType']);
Avatar billede snigeren Nybegynder
26. december 2005 - 20:12 #8
ok,.. kan man gøre det med hvad som helst?
f.eks.: echo str_replace("hullubullu", "det her skal der stå", $row['itemType']);

eller er der begrænsninger?
Avatar billede jaw Nybegynder
26. december 2005 - 20:14 #9
Den eneste umiddelbare begrænsning er, at str_replace ikke kan tage andet end præcis udskiftninger... Men dit ovenstående burde nok kunne virke.
Avatar billede snigeren Nybegynder
26. december 2005 - 20:14 #10
uhm,.. nææ det holder vel ikke... kan man lave flere str_replace på en gang? "_", " " og "ae", "æ" osv?
Avatar billede jaw Nybegynder
26. december 2005 - 20:16 #11
Nej, hvis du så vil bruge str_replace, så skal det være á flere gange:

$str = "en tekst du vil udskifte i";
$str = str_replace("ae", "æ", $str);
$str = str_replace("oe", "ø", $str);
osv. osv.
Avatar billede snigeren Nybegynder
26. december 2005 - 20:28 #12
hvis jeg nu vil udskifte følgende to ting "_", " " og "ae", "æ"  i  <?php echo $row["itemType"]; ?>

hvordan gør jeg så?
Avatar billede jaw Nybegynder
26. december 2005 - 21:51 #13
Som jeg lige gjorde, og så bare echo $str; til sidst.
Avatar billede snigeren Nybegynder
27. december 2005 - 15:38 #14
ahh ok,.. på den led =)
tak tak... smid lige et svar, nu blev det jo egentlig to spørgsmål i et... men hva faen du får sikkert flere point en anden dag =D
Avatar billede jaw Nybegynder
27. december 2005 - 15:41 #15
Selv tak :)
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