Avatar billede farhang Nybegynder
22. september 2006 - 16:15 Der er 28 kommentarer og
1 løsning

Visning af data fra database i table både vandret og lodret.

Jeg har en table, som skal hente data fra en database. Tablen har fire kolonner og fire række, hvor mine records skal ligge således kolonne1, kolonne2, kolonne3, kolonne4 også række2 osv.
Hvis jeg har har f.eks. 19, så skal der bruges paging på records 17-19.

Er der en, som kan hjælpe mig?

<?php

while ($row = mysql_fetch_array($results)) {
  extract($row);
  echo "<tr valign=\"middle\" align=\"center\">";
  echo "<td width=\"100\" height=\"105\" align=\"left\">";
  echo "<a href=\"getprod.php?prodid=" . $products_nummer . "\">";
  echo "<img src=" . $products_imageurl . " border=\"0\"></a>";
  echo "</td>";
  echo "</tr>";
}

?>
Avatar billede zynzz Praktikant
22. september 2006 - 16:39 #1
Skal du kun have hjælp til paging ?
Avatar billede farhang Nybegynder
22. september 2006 - 16:41 #2
Begge dele, takker ;-)
Avatar billede zynzz Praktikant
22. september 2006 - 17:01 #3
Men hvordan skal det med de rækker laves ?, jeg er ikke helt med på hvad du mener... :S
Avatar billede farhang Nybegynder
22. september 2006 - 17:07 #4
Avatar billede zynzz Praktikant
22. september 2006 - 18:51 #5
<table><tr>
<?

if (!isset($_GET[page])) $page = 0;
$antal = 10; // Antal af posts pr side
$total = $page * $antal;
$bla = 10 + 10 * $page;

$sumcount = 1;
$sum = 4;

$i="0";
$result = mysql_query("SELECT * FROM dintabel ORDER BY id DESC LIMIT $total,$antal");
while($row = mysql_fetch_array($result)) {
?>

<td>
<img width="150" height="100" src="<? echo $row[billed]; ?>">
</td>

<?
if ($sumcount == $sum) {
$sumcount = 0;
echo "</tr><tr>";
}
$sumcount++;
$i++;
}
?></tr></table>
<?
if ($page > 0) {
    echo "<a href=\"index.php?page=" . ($page - 1) . "\">&#60&#60</a>&nbsp;";
} else {
    echo "&#60&#60&nbsp;";
}
if ($num > $bla) {
    echo "<a href=\"index.php?page=" . ($page + 1) . "\">&#62&#62</a>";
} else {
    echo "&#62&#62";
}
?>
Avatar billede farhang Nybegynder
22. september 2006 - 19:10 #6
Hej igen,

Tak for det, men det virker ikke nå jeg putter koden ind. Det skal se ud således 4 rækker x 4 kolonner. Når man klikker på et billede, skal man gå til varerbeskrivelse.php for den pågældende varer. Se venligst http://www.designunltd.dk/la-femme/kollektion.php

Kan du stadig hjælpe?
Avatar billede zynzz Praktikant
22. september 2006 - 20:00 #7
Smid koden så skal jeg hjælpe... :)
Avatar billede farhang Nybegynder
22. september 2006 - 21:38 #8
Kollektion:

<?php
//connect to the database - either include a connection variable file
//or type the following lines:
$connect = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die ("Hey loser, check your server connection.");
mysql_select_db ("xxxxx");
$query = "SELECT * FROM products";
$results = mysql_query($query)
  or die(mysql_error());

?>
<?php

while ($row = mysql_fetch_array($results)) {
  extract($row);
  echo "<tr valign=\"middle\" align=\"center\">";
  echo "<td width=\"100\" height=\"105\" align=\"left\">";
  echo "<a href=\"varerbeskrivelse.php?prodid=" . $products_nummer . "\">";
  echo "<img src=" . $products_imageurl . " border=\"0\"></a>";
  echo "</td>";
  echo "</tr>";
}

?>

Varerbeskrivelse:

<?php
session_start();
//connect to the database - either include a connection variable file
//or type the following lines:
$connect = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die("Hey loser, check your server connection.");
//make our database active
mysql_select_db("xxxxx");

//get our variable passed through the URL
$prodid = $_REQUEST['prodid'];

//get information on the specific product we want
$query = "SELECT * FROM products WHERE products_nummer='$prodid'";
$results = mysql_query($query)
  or die(mysql_error());
$row = mysql_fetch_array($results);
extract($row);

?>
          <td height="22" colspan="3"><font class="indholdoverskrift"><?php echo $products_navn; ?><br><br></font></td>
        </tr>
        <tr valign="middle" align="center">
          <td height="443" align="left" valign="top"><font class="undermenu"><img src="<?php echo $products_imageurl; ?>" width="95" height="95" style="float:right;">Beskrivelse: <?php echo $products_beskrivelse; ?>
<br>Mål: <?php echo $products_size; ?> cm
<br>Varenummer: <?php echo $products_nummer; ?>
<br>Type: <?php echo $products_type; ?>
<br><br>Pris: <?php echo $products_pris; ?>,- Dkk (incl. moms)<br></font>
          <table width="430" border="0">
  <tr>
    <td align="right">      <form method="POST" action="modcart.php?action=add">
        Antal: <input type="text" name="qty" size="2"><br>
        <input type="hidden" name="products_prodnum"
          value="<?php echo $products_nummer ?>">
        <input type="submit" name="Submit" value="Læg i posen">
      </form>

      <form method="POST" action="cart.php">
        <input type="submit" name="Submit2" value="Se indkøbsposen">
      </form>
Avatar billede zynzz Praktikant
23. september 2006 - 09:14 #9
$sumcount = 1;
$sum = 4;
$i="0";
echo"<table><tr>";
while ($row = mysql_fetch_array($results)) {
  extract($row);
  echo "<td width=\"100\" height=\"105\" align=\"left\">";
  echo "<a href=\"varerbeskrivelse.php?prodid=" . $products_nummer . "\">";
  echo "<img src=" . $products_imageurl . " border=\"0\"></a>";
  echo "</td>";
}
if ($sumcount == $sum) {
$sumcount = 0;
echo "</tr><tr>";
}
$sumcount++;
$i++;
}
?></tr></table>

Så burde det virke...
Avatar billede farhang Nybegynder
23. september 2006 - 11:47 #10
Hej igen,

Jeg har sat din kode ind, men det viser 5 records på en række. Jeg vil gerne have 4 records pr. række i 4 rækker pr. side, derefter til næste paging side. Koden er sat ind således:

        <tr><td colspan="6" align="center" valign="top"><table><tr>
<?php

$sumcount = 1;
$sum = 4;
$i="0";
while ($row = mysql_fetch_array($results)) {
  extract($row);
  echo "<td width=\"100\" height=\"105\" align=\"left\">";
  echo "<a href=\"varerbeskrivelse.php?prodid=" . $products_nummer . "\">";
  echo "<img src=" . $products_imageurl . " border=\"0\"></a>";
  echo "</td>";
}
if ($sumcount == $sum) {
$sumcount = 0;
echo "</tr><tr>";
}
$sumcount++;
$i++;

?>
</tr></table>

</td></tr>

Kan du finde ud af det tror du?
Avatar billede zynzz Praktikant
23. september 2006 - 12:32 #11
hmm lyder sært... prøv at skriv sum=3
Avatar billede farhang Nybegynder
23. september 2006 - 19:14 #12
Det gør ingen forskel! Meget mystisk.
Avatar billede zynzz Praktikant
23. september 2006 - 20:36 #13
Kan du slet ikke få det til at virke ?
Avatar billede farhang Nybegynder
23. september 2006 - 21:13 #14
Avatar billede zynzz Praktikant
23. september 2006 - 21:28 #15
$sumcount = 1;
$sum = 4;
$i="0";
while ($row = mysql_fetch_array($results)) {
  extract($row);
  echo "<td width=\"100\" height=\"105\" align=\"left\">";
  echo "<a href=\"varerbeskrivelse.php?prodid=" . $products_nummer . "\">";
  echo "<img src=" . $products_imageurl . " border=\"0\"></a>";
  echo "</td>";
if ($sumcount == $sum) {
$sumcount = 0;
echo "</tr><tr>";
}
$sumcount++;
$i++;
}
Avatar billede zynzz Praktikant
23. september 2006 - 21:29 #16
Jeg havde bare ikke lige set den ikke var inde i løkken... :)
Avatar billede farhang Nybegynder
24. september 2006 - 13:31 #17
Det virkede. ;-) Men hvad med paging? Hvordan tilføjer man det?

Farhang
Avatar billede farhang Nybegynder
25. september 2006 - 15:57 #18
Smid et svar. ;-)
Avatar billede zynzz Praktikant
25. september 2006 - 16:05 #19
Jeg skal nok lige hjælpe dig med paging... :)
Avatar billede zynzz Praktikant
25. september 2006 - 16:42 #20
<?
// sætter side nr.
if (isset($_GET[side])){
$side = $_GET[side];
}
if (!isset($_GET[side])){
$side = 0;
}

// status
$antal = 10; // Antal af posts pr side
$total = $page * $antal;
$antal_p_side = $antal * $page;

// hoved query
$query = "SELECT * FROM DINTABEL ORDER BY id DESC LIMIT $total, $antal";

// henter alle tags
$out = "SELECT id FROM DINTABEL";
$num = mysql_num_rows($out);

// side rotering
<?
if ($side > 0) {
    echo "<a href=\"index.php?page=" . ($side - 1) . "\"><img border="0" src="billed her"></a>";
} else {
    echo "&nbsp;";
}
if ($num > $antal_p_side) {
    echo "<a href=\"index.php?page=" . ($side + 1) . "\"><img border="0" src="billed her"></a>";
} else {
    echo "";
}
?>
Avatar billede zynzz Praktikant
25. september 2006 - 18:34 #21
ligger lige et svar så... :=)
Avatar billede farhang Nybegynder
25. september 2006 - 19:10 #22
Hej,

Hvor skal din paging kode sættes?

Jeg får nemlig følgende fejlmelding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/la-femme/kollektion.php on line 97
Avatar billede zynzz Praktikant
26. september 2006 - 16:24 #23
Scriptet er sådan set lige meget hvor det kommer.... $query = "SELECT * FROM DINTABEL ORDER BY id DESC LIMIT $total, $antal";
er den du henter din data med...


$out = "SELECT id FROM DINTABEL";
$num = mysql_num_rows($out);

Tæller tags.... :)
Avatar billede farhang Nybegynder
26. september 2006 - 16:31 #24
Hvor skal koden placeres?
Avatar billede zynzz Praktikant
26. september 2006 - 19:12 #25
<?php
session_start();
//connect to the database - either include a connection variable file
//or type the following lines:
$connect = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die("Hey loser, check your server connection.");
//make our database active
mysql_select_db("xxxxx");

//get our variable passed through the URL
$prodid = $_REQUEST['prodid'];

//get information on the specific product we want
// sætter side nr.
if (isset($_GET[side])){
$side = $_GET[side];
}
if (!isset($_GET[side])){
$side = 0;
}

// status
$antal = 10; // Antal af posts pr side
$total = $page * $antal;
$antal_p_side = $antal * $page;

// hoved query
$query = "SELECT * FROM DINTABEL ORDER BY id DESC LIMIT $total, $antal";

// henter alle tags
$out = "SELECT id FROM DINTABEL";
$num = mysql_num_rows($out);
$results = mysql_query($query)
  or die(mysql_error());
$row = mysql_fetch_array($results);
extract($row);

?>
Avatar billede zynzz Praktikant
26. september 2006 - 19:13 #26
Side opdeling skal du have hvor du vil have din side skift...
Avatar billede farhang Nybegynder
26. september 2006 - 21:28 #27
Hej,

Jeg får følgende fejlmelding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/la-femme/kollektion.php on line 89

Som henviser til:

// henter alle tags
$out = "SELECT products_prodnum FROM products";
$num = mysql_num_rows($out);
$results = mysql_query($query)
  or die(mysql_error());
$row = mysql_fetch_array($results);
extract($row);

Kan du hjælpe videre på http://www.eksperten.dk/spm/734856?
Avatar billede zynzz Praktikant
27. september 2006 - 16:28 #28
Du skal nok lave en query... :)
Avatar billede farhang Nybegynder
27. september 2006 - 20:57 #29
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