Array uitlezen in tabel

Status
Niet open voor verdere reacties.

jonke475

Gebruiker
Lid geworden
11 nov 2010
Berichten
5
Beste mensen,

Ik zit op mijn werk zodat ik even snel mijn vraag in metataal typ.

Het gaat om het uitlezen van de database en bij het uitlezen sla ik het path van de afbeeldingen op in een array.
Hierna wil ik de afbeeldingen plaatsen in een tabel van links naar rechts en dan van boven naar beneden door de array uit te lezen.
Het probleem is dat de waarden bekent zijn binnen de WHILE-loop maar daar buiten niet.
Wat doe ik verkeerd.
Beste mensen bij voorbaat dank.

Maak contact met database
WHILE afbeeldingen (query)
$count++
$arr = array($count => (afbeelding))
WEND

Vul tabel met $arr[1] / $arr[2] etc. // Hier is $arr dus leeg

Ik hoor het graag . . .
 
Lastig te zeggen maar als je variabele ineens weg is, heb je waarschijnlijk de variabele in een functie aangemaakt en zit het andere stuk buiten de functie.

Anders zou ie niet zomaar mogen verdwijnen; dan zou het dus hoogstens betekenen dat je loop niet werkt zoals je zou verwachten; dat kun je makkelijk debuggen door even wat te echo'en in de loop, dan zie je hoe vaak het script er doorheen loopt.
 
Als je een gallerij wilt weergeven waarbij de afbeeldingen van links naar rechts naast elkaar komen te staan kun je eenvoudiger CSS gebruiken in plaats van een tabel.

Zorgen dat ze in een "container" zitten met een bepaalde breedte en dan elke afbeelding "float:left;" meegeven. Als het goed is gaan ze dan naast elkaar staan tot de breedte is bereik, dan gaan ze op er onder verder tot de breedte is bereikt etc etc.

Als ik je pseudocode goed begrijp haal je eerst de resultaten op en bouw je daarna de tabel op. Dat kan alleen als je de resultaten in een variabele stopt welke buiten de WHILE-scope bekend is.
 
Zoals 5blabla5 zegt heb je misschien een stuk code zodat we meer suggestie kunnen geven

Daarnaast maak je de array wel buiten de while-loop aan. Anders override je de eerder aangemaakte array met de nieuwe waardoor er altijd maar hooguit 1 waarde in kan zitten
Voorbeeldje:
PHP:
<?php
$count = 0;
$array = array();

// maak connectie en voer de query uit zodat je een resultaat krijg
for ($count = 0; /* haal rij voor rij uit resultaat op */; $count++ )
{
    // Voeg een waarde aan de array toe 
}
?>

groeten vreugde
 
Bedankt voor jullie inspanning

Ik zit weer op mijn werk en wordt moeilijk om code te kloppen.
Wel al bedankt voor jullie reacties.
Vanavond ga ik de code plaatsten.
 
Array in tabel vervolg . . . CODE

Beste mensen hier dan de code die ik heb geklopt.
Had eigenlijk nog helemaal geen ervaring met arrays in php.
Maar het leek me de beste oplossing voor dit probleem.

Het doel is alle afbeeldingen in een tabel plaatsen van zeg maar 7 kolommen bij 7 rijen.
De afbeeldingen zijn opgeslagen in de database en die wil ik dan in de array plaatsen om ze daarna netjes in de tabel te plaatsen.

Hier dan de code:
PHP:
<?
/** Lees alle waarden voor de afbeeldingen in en plaats ze in een array **/

include("inc_connect.php");

$DATA_SQL = "SELECT * FROM om_ads ORDER BY adver_ID DESC";
$DATA_result = mysql_query($DATA_SQL);

while($om_ads = mysql_fetch_array($DATA_result)) {
	if($om_ads['adver_plaatsen'] == "1") {
		$count_total++;
		$arr = array($count_total => $om_ads['adver_afbeelding']);
	}
}

mysql_close();
?>

<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><img src=" <?php echo $arr[`1] . '"';?> width="190" height="120"></td>
    <td><img src=" <?php echo $arr[`2] . '"';?> width="190" height="120"></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
  <td>&nbsp;</td>
ETC . . .
Khad netjes tabs gebruikt maar is niet uit de verf gekomen.
 
Laatst bewerkt door een moderator:
Is dat de letterlijke code? Inclusies de backticks bij de indices? Probeer het eens zo:
PHP:
<td><img src="<?php echo $arr[1]; ?>" width="190" height="120"></td>
    <td><img src="<?php echo $arr[2]; ?>" width="190" height="120"></td>
 
Ik denk dat de post boven mij (Supersnail) de juiste oplossing heeft: In jouw code zijn er wat onnodige tekens, waardoor het mogelijk niet goed gaat.

Veel succes verder!
 
Klopt foutje

Allemaal al hartstikke bedankt en sorry voor de foute code.
Er stonden een paar dingen in die ik waarschijnlijk verkeerd heb overgenomen.
Maar ondanks de aanpassingen wil het toch niet werken.
Ik heb de array uitgelezen in de while loop met de counter erbij en dan komen de arrays naar boven zie voorbeeld:

1/Fotos_advertenties/a-million-dollars.jpg
2/Fotos_advertenties/AndroidBack007.jpg
3/Fotos_advertenties/valley-forge.jpg
4/Fotos_advertenties/AndroidBack003.jpg
5/Fotos_advertenties/Invisibles.jpg
6/Fotos_advertenties/Smirnoff.jpg
7/Fotos_advertenties/20070522mozaiek1.jpg
8/Fotos_advertenties/GreatWave.jpg

Hier staat dan een leeg kader waar de eerste afbeelding zou moeten verschijen.
:confused:
 
Nog een tip: je doet een query om alle resultaten op te halen en in je code ga je nog eens checken op "adver_plaatsen" === 1. Waarom stop je dit niet in de WHERE van je query? Zo hoeft er minder data over de lijn en hoef je minder checks in PHP uit te voeren.
 
Array probleem opgelost

Beste mensen,

Het probleem is opgelost.
Ik heb uiteindelijk toch een geheel andere code geklopt.
Ga de code nog posten.

Bedankt allemaal!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan