Avatar billede rampagezz Nybegynder
21. maj 2006 - 10:20 Der er 16 kommentarer og
1 løsning

Database udtræk i tre kolonner

Hej eksperten.

Jeg kunne godt tænke mig at lave en tabel med 3 kolonner med billeder, taget ud af en database.

Jeg har prøvet at lege lidt med den her kode:

<?php
$Variablearray = array($row_Recordset1['navn'], $row_Recordset1['navn'], $row_Recordset1['navn'] );
$collums = 2;
$i = 0;

while ($i < sizeof($Variablearray)) {
    if ($i % $collums == 0 && $i != 0) {
        echo "</tr>\n";
    }
    if ($i % $collums == 0) {
        echo "<tr>\n";
    }
    echo "<td>$Variablearray[$i]</td>\n";
    $i++;
}

while ($i % $collums != 0) {
    echo "<td>&nbsp;</td>\n";
    $i++;
}
?>

Men den hiver kun samme navn frem 3 gange.

Hvordan kan jeg få den til at hive alle de andre navne frem?
Avatar billede nielle Nybegynder
21. maj 2006 - 10:34 #1
Du kan proppe data i dit array:

$Variablearray = array();
while ($row_Recordset1 = mysql_fetch_assoc($ditResultat))
{
    $Variablearray[] = $row_Recordset1['navn'];
}
Avatar billede rampagezz Nybegynder
21. maj 2006 - 10:44 #2
Jeg er ikke så hardcore til PHP.
Når du skriver $ditResultat hvad mener du så jeg skal skriver?
Avatar billede nielle Nybegynder
21. maj 2006 - 11:00 #3
Et eller andet sted udføre du en SQL-kommando. Hvordan ser din kode ud lige der omkring?
Avatar billede rampagezz Nybegynder
21. maj 2006 - 11:05 #4
I starten af scriptet:

<?php require_once('../../../../Connections/conn.php'); ?>
<?php
mysql_select_db($database_conn, $conn);
$query_Recordset1 = "SELECT * FROM ramtags";
$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
Avatar billede nielle Nybegynder
21. maj 2006 - 11:07 #5
Så er det $Recordset1 der skal bruges:

<?php require_once('../../../../Connections/conn.php'); ?>
<?php
mysql_select_db($database_conn, $conn);
$query_Recordset1 = "SELECT * FROM ramtags";
$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());

$totalRows_Recordset1 = mysql_num_rows($Recordset1);

$Variablearray = array();
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1))
{
    $Variablearray[] = $row_Recordset1['navn'];
}
?>
Avatar billede rampagezz Nybegynder
21. maj 2006 - 11:29 #6
Ok. Så langt så godt.
Nu henter den værdien fra databasen ud til de 3 kolonner i tabellen, men den henter kun de 3 første records.
Hvordan får jeg den til at lave rækker nedad, så den tager alle records ud af databasen.
Avatar billede rampagezz Nybegynder
21. maj 2006 - 11:35 #7
Undskyld. Det var mig som ikke havde sat en ekstra record ind.
Du har fortjent dine point.
Men jeg har et tillægsspørgsmål, hvis du har lyst til at hjælpe mig med det.

Hvordan laver jeg et link til en ny side på den record?
Avatar billede nielle Nybegynder
21. maj 2006 - 11:38 #8
Jeg kan nu ikke se nogen grund til at din kode ikke skulle udskrive samtlige poster, men du kan jo prøve med dette i stedet:

echo "<table border='1'>";

$collums = 2;
$i = 0;

while ($i < sizeof($Variablearray)) {
    if ($i % $collums == 0) {
        if ($i != 0$) echo "</tr>\n";
        echo "<tr>\n";
    }
    echo "<td>$Variablearray[$i]</td>\n";
    $i++;
}

while ($i % $collums != 0) {
    echo "<td>&nbsp;</td>\n";
    $i++;
}

echo "</tr>";
echo "<table>";
Avatar billede rampagezz Nybegynder
21. maj 2006 - 11:48 #9
Den virker nu.
Men jeg kunne godt tænke mig at få den til at vise det som et billede i stedet for tekst.
Og hvis man kan lave et link til en ny side ville det være perfekt.

Hvis du kan hjælpe mig med det, ville jeg blive glad.
Hvis ikke er det fint nok...
Du har i hvert fald fortjent dine point.. Kom med et svar!
Avatar billede nielle Nybegynder
21. maj 2006 - 11:51 #10
Hvis det er filnavnene du har i dine felter:

echo "<td>$Variablearray[$i]</td>\n";

- så skal disse bare rettes til:

echo "<td><img src='$Variablearray[$i]'"></td>\n";
Avatar billede nielle Nybegynder
21. maj 2006 - 11:57 #11
Hvis billederne også skal fungere som links, så har du desværre ikke nok oplysninger i dit array til at dette kan lade sig gøre :^|

Det kræver altså at koden skrives om:

<?php require_once('../../../../Connections/conn.php'); ?>
<?php
mysql_select_db($database_conn, $conn);
$query_Recordset1 = "SELECT * FROM ramtags";
$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());

echo "<table border='1'>";

$collums = 2;
$i = 0;
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {
    if ($i % $collums == 0) {
        if ($i != 0) echo "</tr>\n";
        echo "<tr>\n";
    }
    echo "<td><a href='urlTilDenSideDerSkalKommerOp.php?id=" . $row_Recordset1["id"] . "'><img src='" . $row_Recordset1["navn"] . "' border='0'></a></td>\n";
    $i++;
}

while ($i % $collums != 0) {
    echo "<td>&nbsp;</td>\n";
    $i++;
}

echo "</tr>";
echo "<table>";
?>
Avatar billede nielle Nybegynder
21. maj 2006 - 11:58 #12
... og et svar :^)
Avatar billede rampagezz Nybegynder
21. maj 2006 - 11:59 #13
Du havde lige et " for meget, men nu viser den billeder..
Så var der bare lige det sidste... Hvordan kan man få den til at linke videre ved at klikke på et billede..?
Avatar billede rampagezz Nybegynder
21. maj 2006 - 12:01 #14
Hov. Glemte lige at skrive, at den skal trække "ID" værdien med sig.
Avatar billede rampagezz Nybegynder
21. maj 2006 - 12:04 #15
Jeg har prøvet med: $Variablearray[] = <a href="vis_billede.php?ID=<?php echo $row_Recordset1['ID']; ?>">$row_Recordset1['billede']; </a>

Men det virker ikke.
Avatar billede rampagezz Nybegynder
21. maj 2006 - 13:39 #16
Jeg havde ikke lige set at du havde besvaret mit spørgsmål om link længere oppe.. Tusind tak for hjælpen.
Avatar billede nielle Nybegynder
21. maj 2006 - 21:23 #17
Jeg er ikke helt sikker: Har du fået det til at virke eller ej med min kode fra 21/05-2006 11:57:56?
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