Foto's op vaste manier weergeven
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
-----+---------+---------+---------+---------+
Rij 1| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 2| foto 1 | foto 2 | geen | foto 3 |
-----+---------+---------+---------+---------+
Rij 3| foto 1 | foto 2 | geen | geen |
-----+---------+---------+---------+---------+
Rij 4| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 5| foto 1 | geen | geen | foto 4 |
-----+---------+---------+---------+---------+
Rij 1| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 2| foto 1 | foto 2 | geen | foto 3 |
-----+---------+---------+---------+---------+
Rij 3| foto 1 | foto 2 | geen | geen |
-----+---------+---------+---------+---------+
Rij 4| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 5| foto 1 | geen | geen | foto 4 |
-----+---------+---------+---------+---------+
En dat op de plek waar 'geen' staat, een leeg plaatje komt, wat nog gevult kan/gaat worden.
Hoe kan ik dat het beste opzetten, vanuit het database?
Alvast bedankt
-Chupskie
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
Gebruik je wel een 'lege foto' op de plaats waar 'geen' staat? Anders schuift alles inderdaad op naar links.
Enige tips? ;)
oohja: op de php-hulp-manier meot het altijd moeilijk, sorry jongens
Ik bedoel de opzet vanuit het database.
Voor de duidelijkheid:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
-----+---------+---------+---------+---------+
Rij 1| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 2| foto 1 | foto 2 | geen | foto 3 |
-----+---------+---------+---------+---------+
Rij 3| foto 1 | foto 2 | geen | geen |
-----+---------+---------+---------+---------+
Rij 4| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 5| foto 1 | geen | geen | foto 4 |
-----+---------+---------+---------+---------+
Rij 1| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 2| foto 1 | foto 2 | geen | foto 3 |
-----+---------+---------+---------+---------+
Rij 3| foto 1 | foto 2 | geen | geen |
-----+---------+---------+---------+---------+
Rij 4| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 5| foto 1 | geen | geen | foto 4 |
-----+---------+---------+---------+---------+
En dat op de plek waar 'geen' staat een leeg plaatje, wat nog gevult kan/gaat worden.
Hoe kan ik dat het beste opzetten, vanuit het database?
Alvast bedankt
-Chupskie
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
Stukje relevant script?
SELECT bestandsnaam
FROM tabelnaam
WHERE album_id = 2
Dan fetchen en op plekken waar je dit hebt:
http://www.pastebin.be/5740
Het zet ze dus netjes in een tabel.
Maar eigenlijk wil ik dit (de meeste moeilijke/onmogelijke manier)
Dus vaste plekken, waar de plaatjes dus moeten gaan komen.
Nu is het daarna alleen weergeven als er al een plaatje in staat op die plek. En anders een toe voeg knop op die plek, voor het toevoegen van een foto, op die aangeklikte plek. (Maar dat is allemaal het probleem niet.)
Het gaat om de bovenstaande indeling. met de query's.
Sorry, maar ik kan het echt niet duidelijker uitleggen.
Ik hoop dat jullie het snappen.
Of
Ik ben gelukkig al iets verder dan, de door jou opgegeven voorbeelden Jan. Mijn code: Het zet ze dus netjes in een tabel.
Maar eigenlijk wil ik dit (de meeste moeilijke/onmogelijke manier)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td>hier query select * where foto =1 and rij =1</td>
<td>hier query select * where foto =2 and rij =1</td>
<td>hier query select * where foto =3 and rij =1</td>
<td>hier query select * where foto =4 and rij =1</td>
</tr>
<tr>
<td>hier query select * where foto =1 and rij =2</td>
<td>hier query select * where foto =2 and rij =2</td>
<td>hier query select * where foto =3 and rij =2</td>
<td>hier query select * where foto =4 and rij =2</td>
</tr>
<tr>
<td>hier query select * where foto =1 and rij =3</td>
<td>hier query select * where foto =2 and rij =3</td>
<td>hier query select * where foto =3 and rij =3</td>
<td>hier query select * where foto =4 and rij =3</td>
</tr>
</table>
<tr>
<td>hier query select * where foto =1 and rij =1</td>
<td>hier query select * where foto =2 and rij =1</td>
<td>hier query select * where foto =3 and rij =1</td>
<td>hier query select * where foto =4 and rij =1</td>
</tr>
<tr>
<td>hier query select * where foto =1 and rij =2</td>
<td>hier query select * where foto =2 and rij =2</td>
<td>hier query select * where foto =3 and rij =2</td>
<td>hier query select * where foto =4 and rij =2</td>
</tr>
<tr>
<td>hier query select * where foto =1 and rij =3</td>
<td>hier query select * where foto =2 and rij =3</td>
<td>hier query select * where foto =3 and rij =3</td>
<td>hier query select * where foto =4 and rij =3</td>
</tr>
</table>
Dus vaste plekken, waar de plaatjes dus moeten gaan komen.
Nu is het daarna alleen weergeven als er al een plaatje in staat op die plek. En anders een toe voeg knop op die plek, voor het toevoegen van een foto, op die aangeklikte plek. (Maar dat is allemaal het probleem niet.)
Het gaat om de bovenstaande indeling. met de query's.
Sorry, maar ik kan het echt niet duidelijker uitleggen.
Ik hoop dat jullie het snappen.
Of
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
Dat is inderdaad een erg omslachtige manier. Het zou handiger zijn als je de posities waar de foto's moeten komen ook in je DB prakt. Je hebt maar twee integers nodig daarvoor.
Code (php)
1
2
3
4
2
3
4
-----+---------+---------+---------+---------+
Rij 1| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 2| foto 1 | foto 2 | geen | foto 3 |
Rij 1| foto 1 | foto 2 | foto 3 | foto 4 |
-----+---------+---------+---------+---------+
Rij 2| foto 1 | foto 2 | geen | foto 3 |
Leg mij eens uit waarom foto 3 de ene keer in cel 3 moet komen en de andere keer in cel 4. Foto 3 lijkt mij de 3e foto te zijn die bij een gegeven hoort en die zet je dan logischerwijs in de 3e cel.
Wil jij een vaste sortering opgeven, dan zul je deze sort_order in de database moeten opslaan, in een aparte kolom.
Lege records opslaan, zoals Jan voorstelt, zou ik niet doen, dan kom je in de problemen op het moment dat je de presentatie gaat aanpassen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
for($r = 1; $r <= 3; $r++)
{
echo '<tr>';
for($f = 1; $f <= 4; $f++)
{
echo '<td>';
$sql = "SELECT * FROM ... WHERE foto = " . $f . " AND rij = " . $r;
$result = mysql_query($sql);
if($result)
{
if(mysql_num_rows() > 0)
{
$row = mysql_fetch_array($result);
echo '<img src="' . $row['plaatje'] . '"/>';
}
else
{
echo '<img src="leegplaatje.gif"/>';
}
}
else
{
// mysql_error()
}
echo '/td>';
}
echo '</tr>';
}
?>
for($r = 1; $r <= 3; $r++)
{
echo '<tr>';
for($f = 1; $f <= 4; $f++)
{
echo '<td>';
$sql = "SELECT * FROM ... WHERE foto = " . $f . " AND rij = " . $r;
$result = mysql_query($sql);
if($result)
{
if(mysql_num_rows() > 0)
{
$row = mysql_fetch_array($result);
echo '<img src="' . $row['plaatje'] . '"/>';
}
else
{
echo '<img src="leegplaatje.gif"/>';
}
}
else
{
// mysql_error()
}
echo '/td>';
}
echo '</tr>';
}
?>
@pgFrank, dat is een foutje, dat moet 4 zijn natuurlijk. Ik wou alleen laten zien, dat er ook een lege plek tussen kan zitten. En dat dat per rij verschillend kan zijn.
@SanThe, ik ga het ff proberen.
Chupskie schreef op 08.10.2007 22:49:
Dan zul je dus de locatie van de foto moeten opslaan, anders is dat nooit te bepalen. sort_order = 4 om bv. een foto in cel 4 te zetten.Ik wou alleen laten zien, dat er ook een lege plek tussen kan zitten. En dat dat per rij verschillend kan zijn.
Met een paar kleine aanpassingen, heb ik het helemaal naar mijn zin:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
for($r = 1; $r <= 5; $r++){
echo '<tr>';
for($f = 1; $f <= 4; $f++){
echo '<td>';
$sql = "SELECT * FROM radiusprojfotos WHERE projid = '".$idee."' AND nr = " . $f . " AND rij = " . $r;
$result = mysql_query($sql) or die(mysql_error());
$aantal = mysql_num_rows($result);
echo " rij:".$r." -- nr:".$f."<br>";
if($aantal > 0){
$row = mysql_fetch_array($result);
echo "<img src='projfotos/".$arre2['mapnaam']."/".$row['image']."'/ width=130><br><br>";
}else{
echo '<img src="leegplaatje.gif"/><br><br>';
}
echo '</td>';
}
echo '</tr>';
}
?>
for($r = 1; $r <= 5; $r++){
echo '<tr>';
for($f = 1; $f <= 4; $f++){
echo '<td>';
$sql = "SELECT * FROM radiusprojfotos WHERE projid = '".$idee."' AND nr = " . $f . " AND rij = " . $r;
$result = mysql_query($sql) or die(mysql_error());
$aantal = mysql_num_rows($result);
echo " rij:".$r." -- nr:".$f."<br>";
if($aantal > 0){
$row = mysql_fetch_array($result);
echo "<img src='projfotos/".$arre2['mapnaam']."/".$row['image']."'/ width=130><br><br>";
}else{
echo '<img src="leegplaatje.gif"/><br><br>';
}
echo '</td>';
}
echo '</tr>';
}
?>
Dus.. super bedankt :D
Helemaal top. Ook de rest bedankt, voor jullie hulp.
-Chupskie
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen