Avatar billede snigeren Nybegynder
18. august 2005 - 16:05 Der er 29 kommentarer og
2 løsninger

hente bestemte rækker fra db til php

Hej eksperter

Jeg forsøger at lave en simpel webshop,.. problemet jeg lige er nået til lyder således:

I nedenstående script hentes alle data fra tabellen "items" i en db ind i et php script,... Her skal den kun hente alle data med et bestemt "mainId".

Det skal være sådan at hvis man trykker på "horsensbanen" til venstre henter den alle data med "mainId" = 104  (bare det system jeg lige har sat op) og hvis man trykker på "lollandsbanen" kommer alle data med "mainId" = 107

http://www.triodimenzionale.dk/misc/jernbanemaerker/products.rar

php filen er pakket med rar så den ikke bare forsøger at åbne den i browseren.

Mon der er nogen der kan hjælpe mig med dette?

/Snig
Avatar billede jaw Nybegynder
18. august 2005 - 16:09 #1
Jeg vil indrømme, at jeg ikke har hentet og udpakket din fil.

Men du må så have det manID, f.eks. 104, i en variabel? Nedenstående vil så hente alt hvor manID er 104:

$variabel = 104;

$q = mysql_query("SELECT * FROM tabel WHERE manID = $variabel") or die(mysql_error());
Avatar billede bromer Nybegynder
18. august 2005 - 16:10 #2
Gider du ikke istedet lægge kilden enten her eller på et sted, hvor man ikke skal sidde og fedte med det. For eksempel pastebin.
Avatar billede bromer Nybegynder
18. august 2005 - 16:10 #3
jaw: jeg gider ikke det her ræs igen... vent 15 sekunder næste gang.
Avatar billede jaw Nybegynder
18. august 2005 - 16:12 #4
Vente med hvad bromer? Og hvilket ræs?
Avatar billede bromer Nybegynder
18. august 2005 - 16:15 #5
Du er altid 14-15 sekunder før mig med dine beskeder.. meget mærkeligt :)
Avatar billede jaw Nybegynder
18. august 2005 - 16:18 #6
Ohh, sådan er jeg jo bare, det ved du vel?! :)

Troede lige du var sur over, at jeg ikke gad udpakke hans fil og smide det hele ind i hans kode og servere det på et sølvfad for ham...
Avatar billede snigeren Nybegynder
18. august 2005 - 16:19 #7
haha ka i så opføre jer ordentlig,.. kids! =)

øhm,.. skal jeg paste hele scriptet herind? det fylder jo lidt...
Avatar billede bromer Nybegynder
18. august 2005 - 16:22 #8
snigeren: det synes jeg godt du kan. E
Avatar billede bromer Nybegynder
18. august 2005 - 16:23 #9
ingen ved hvad det sidste E skulle
Avatar billede snigeren Nybegynder
18. august 2005 - 16:25 #10
<?php
    include("db.php");

    $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);

    $result = mysql_query("select * from items order by itemName asc");

    ?>


<html>

<head>

<title>Jernbanemaerker</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="css/styles.css" rel="stylesheet" type="text/css">

<style type="text/css">

<!--

.style2 {color: #89744B}

-->

</style>

</head>



<body bgcolor="#D8C5A3">

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">

  <tr align="right" valign="top">

    <td width="900" height="143" class="top"><table width="555" height="138" border="0" cellpadding="0" cellspacing="0">

      <tr>

        <td align="left" valign="bottom"><a href="#">FORSIDE</a> | <a href="#">PRODUKTER</a> | <a href="#">KONTAKT</a> | <a href="cart.php" class="style2">INDK&Oslash;BSKURV</a></td>

      </tr>

    </table></td>

  </tr>

  <tr>

    <td height="503" valign="top" class="body" bgcolor="#F2E3C8"><table width="100%"  border="0" cellpadding="0" cellspacing="0">

      <tr>

        <td width="245" height="349" align="center" valign="top" class="left"><p>&nbsp;</p>
          <table width="80%"  border="0" cellpadding="0" cellspacing="0">
            <tr align="left" valign="top" class="style2">
              <td colspan="2"><h1>Produkter</h1>
                JERNBANEM&AElig;RKER</td>
              </tr>
            <tr align="left" valign="top" class="style2">
              <td width="11%">&nbsp;</td>
              <td width="89%">EBELTOFT - TRUSTRUP<br>
                EBELTOFT - &Aring;RHUS <br>
                &Aring;RHUS - ODDER - HOU<br>
                HORSENSBANEN<br>
                H&Oslash;NG - T&Oslash;LL&Oslash;SE<br>
                KOLDING SYDBANER <br>
                LOLLANDSBANEN</td>
            </tr>
            <tr align="left" valign="top" class="style2">
              <td colspan="2">&nbsp;</td>
              </tr>
            <tr align="left" valign="top" class="style2">
              <td colspan="2">JULEM&AElig;RKER</td>
            </tr>
            <tr align="left" valign="top" class="style2">
              <td>&nbsp;</td>
              <td>OFFICIELLE JULEM&AElig;RKER <br>
                LOKALE JULEM&AElig;RKER </td>
            </tr>
            <tr align="left" valign="top" class="style2">
              <td colspan="2">&nbsp;</td>
              </tr>
            <tr align="left" valign="top" class="style2">
              <td colspan="2">DAMPSKIBSM&AElig;RKER</td>
            </tr>
            <tr align="left" valign="top" class="style2">
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
          </table>         
          <p>&nbsp;</p></td>

        <td width="655" valign="top" class="middle"><p>&nbsp;</p>          <table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0">

          <tr class="layout">

            <td width="3%">&nbsp;</td>

            <td width="19%" class="style2">Foto</td>

            <td width="50%" class="style2">Beskrivelse</td>

            <td width="14%" class="style2">Pris</td>

            <td width="14%" class="style2">&nbsp;</td>

          </tr>

          <?php

            while($row = mysql_fetch_array($result))

                {

            ?>

          <tr class="style2">



            <td height="43">&nbsp;</td>

            <td><font face="verdana" size="1" color="897448">

              <?php 

                            $p = (!empty($row["itemPhoto"]))? $row["itemPhoto"] : "notavail.jpg";

                            $t = (!empty($row["itemThumb"]))? $row["itemThumb"] : "notavail.jpg";

                            echo "<A HREF='http://www.pathtoart.com/website/".$p."' target='_blank'> <img src='http://www.pathtoart.com/website/".$t."'>";
           

                            ?>

            </font></td>

            <td><p class="style2"><font face="verdana" size="1" color="897448"><?php echo $row["itemName"]; ?><br>

              <?php echo $row["itemDesc"]; ?>            </font></p>              </td>

            <td class="style2">Kr. <font face="verdana" size="1" color="897448"><?php echo $row["itemPrice"]; ?></font></td>

            <td><a href="cart.php?action=add_item&id=<?php echo $row["itemId"]; ?>&qty=1"><img src="gfx/cart.jpg" width="21" height="17" border="0"></a></td>

          </tr>

          <tr class="style2">

            <td height="15" colspan="5"><img src="gfx/prik.jpg" width="100%" height="1"></td>

            </tr>
<?php

            }

        ?>

          <tr class="style2">

            <td>&nbsp;</td>

            <td>&nbsp;</td>

            <td>&nbsp;</td>

            <td>&nbsp;</td>

            <td>&nbsp;</td>

          </tr>

        </table></td>

      </tr>

    </table>

    <br>

    <img src="gfx/blank.gif" width="20" height="20"></td>

  </tr>

</table>



</body>

</html>
Avatar billede snigeren Nybegynder
18. august 2005 - 16:26 #11
ehem,.. så kom der lige et script :P  hvis ikke dette er den smarteste måde at vise et script på, hvordan skal jeg så smartest gøre det?
Avatar billede bromer Nybegynder
18. august 2005 - 16:28 #12
Hvad ligger der af kolonner i tabellen "items"?
Avatar billede snigeren Nybegynder
18. august 2005 - 16:33 #13
Avatar billede bromer Nybegynder
18. august 2005 - 16:38 #14
så er det nok som jaw sagde. Du vil gerne have dette i toppen tror jeg:

erstat

$result = mysql_query("select * from items order by itemName asc");

med

$where = "";
if ($_GET['mainID']) {
$where = 'WHERE mailID = ' . $_GET['mainID'];
}
$result = mysql_query("select * from items " . $where . " order by itemName asc");

så skal du bare huske at lave links ude i venstre side hvor du smider mainID med.
Avatar billede snigeren Nybegynder
18. august 2005 - 17:10 #15
uhm,.. det virker jo helt fint,.. men når man loader siden henter den bare alle produkter ind,.. hvis jeg nu gerne bare vil have den til at hente alle fra mainId=101 når siden loades, hvad skal jeg så gøre?

I kan nok høre jeg har totalt styr på det her php noget...
Avatar billede bromer Nybegynder
18. august 2005 - 17:18 #16
Hvis du altid vil have at det er rækker med mainID 101 erstatter du bare det tidligere med:

$result = mysql_query("select * from items WHERE mainID = 101 order by itemName asc");
Avatar billede snigeren Nybegynder
18. august 2005 - 17:24 #17
ikke altid... bare indtil man selv trykker på et nyt menu punkt...
ahh hehe dumme mig,... man smider ski da bare ?mainId=101 ind i linket til products.php siden... tsk tsk tsk
Avatar billede bromer Nybegynder
18. august 2005 - 17:26 #18
Yep.. det var det jeg mente mmed at du skal lave links i venstre side :)
Avatar billede snigeren Nybegynder
18. august 2005 - 17:30 #19
det har jeg oxo,.. men havde jo ikke lige tænkt mig om at der jo oxo skal et link til for at komme ind på products.php ^ ^  dumme mig,...

Men hvad så hvis jeg gerne vil kunne sætte produkterne i alfabetisk orden efter navn, pris eller sidst ankomne produkt,... kan det gøres sådan rimelig simpelt? jeg skal gerne oprette et spørgsmål mere så der er lidt flere points =)
Avatar billede bromer Nybegynder
18. august 2005 - 17:31 #20
kommer produkterne fra items?
Avatar billede snigeren Nybegynder
18. august 2005 - 22:07 #21
yesh,..
Avatar billede bromer Nybegynder
18. august 2005 - 22:26 #22
men du har allerede sorteret efter navn så? Hvad er det så du vil?
Avatar billede snigeren Nybegynder
18. august 2005 - 22:32 #23
øhm,.. lave knapper der kan sortere efter sidst indkomne varer og måske efter pris,..
Avatar billede snigeren Nybegynder
18. august 2005 - 22:50 #24
nææ lige meget,.. det er ret ligegyldigt...

Hvad værre er,.. kan man lave det så der kun kommer 30 varer på én side og så kommer der en "næste" knap hvis der er flere,.. og hvis man er gået frem kommer der en "tilbage" knap?

Du skal altså sige til hvis det er for meget arbejde,.. men håber du kan hjælpe,.. det bliver også det sidste der kommer nu.
Avatar billede bromer Nybegynder
19. august 2005 - 10:50 #25
Det er da muligt at lave, men det er bestemt en større opgave. Noget som jeg egentlig synes du skal lege lidt med selv.
Avatar billede jaw Nybegynder
19. august 2005 - 11:34 #26
Vi kan måske pege dig i rigtige retning:

$start = 0;
$prside = 20;

$result = mysql_query("select * from items " . $where . " order by itemName asc LIMIT $start, $prside");

Nu vil den så hente rækkerne fra 0 til 19. Hvis $start så bliver 20 (efter brugeren har klikket næste), vil den hente fra 20-40.
Avatar billede snigeren Nybegynder
19. august 2005 - 14:17 #27
det lydder ski rigtig fint,.. jeg må prøve at rode lidt med det,..
jaw ---> smider du ikke oxo lige et svar så kan i få lidt hver =)
Avatar billede jaw Nybegynder
19. august 2005 - 14:18 #28
Tjoh, hvis du synes :) Og hvis det er ok med bromer, han gjorde jo nok det største arbejde...
Avatar billede bromer Nybegynder
19. august 2005 - 14:24 #29
fint med mig :)
Avatar billede snigeren Nybegynder
19. august 2005 - 14:28 #30
hep! så har bromer fået en smule ekstra, du kom jo med svaret først sådan set =)

Så kan det være jeg opretter et nyt spørgsmål med det side antal senere,.. hvis ikke jeg lige kan hitte ud af det selv...

Men tak for hjælpen gutter!
Avatar billede jaw Nybegynder
19. august 2005 - 14:34 #31
Hehe, bare fjong - og 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