Hallo ik ben bezig met een photo contest site
en nu zit ik eigenlijk vast ik wil graag dat hij foto's uit de database haalt
die zijn toegewezen aan die contest alleen hij laat niks zien
de cid van imgreg moet gelijk zijn aan de id van de contest
ik heb nu dit:
<?
$query = "SELECT * FROM contest";
$pic = mysql_query($query);
while($row = mysql_fetch_assoc($pic))
{
}
$dbres = ("SELECT * FROM imgreg WHERE cid ='$row->id' ORDER BY cid ASC LIMIT 9 ") or die (mysql_error());
$result = mysql_query($dbres) or die (mysql_error());
while($foto = mysql_fetch_array($result)){
$thumb = "images/contest/" . $foto['image_name'];
?>
- Database foto's laten zien met zelfde id en cid
-
03-01-2010, 16:10 #1
- Berichten
- 30
- Lid sinds
- 16 Jaar
Database foto's laten zien met zelfde id en cid
-
In de schijnwerper
Backlinks & Linkbuilding Pakketten van R&B WebpromotionsFreelance / Werk(Premium) Hoge DA Backlink | DR 95 | RD 4,2 MiljoenSEO/LinkbuildingLaravel / PHP code review door ervaren software consultant, tijdelijk voor € 475Freelance / WerkPopi.nl | Linkbuilding Platform| 14.000+ MogelijkhedenSEO/Linkbuilding -
03-01-2010, 16:13 #2
- Berichten
- 330
- Lid sinds
- 18 Jaar
Je echoot uberhaupt niets in bovenstaande code, dus het is logisch dat je niets te zien krijgt. Verder is het niet echt een nette methode (beter om gebruik te maken van joins), maar met onderstaande code moet het wellicht lukken.
PHP Code:<?
$query = "SELECT * FROM contest";
$pic = mysql_query($query);
while($row = mysql_fetch_assoc($pic))
{
$dbres = ("SELECT * FROM imgreg WHERE cid =".$row['id']." ORDER BY cid ASC LIMIT 9 ") or die (mysql_error());
$result = mysql_query($dbres) or die (mysql_error());
while($foto = mysql_fetch_assoc($result)){
$thumb = "images/contest/" . $foto['image_name'];
echo '<img src="'.$thumb.'" alt="" />';
}
}
?>
-
03-01-2010, 16:17 #3
- Berichten
- 30
- Lid sinds
- 16 Jaar
Perfect het werkt heel erg bedankt!!!!
-
03-01-2010, 17:12 #4
- Berichten
- 376
- Lid sinds
- 18 Jaar
PHP Code:SELECT c.*, i.* FROM contest c LEFT JOIN imgreg i ON c.id = i.cid ORDER BY cid
-
03-01-2010, 18:41 #5
- Berichten
- 30
- Lid sinds
- 16 Jaar
Sorry het werkt nog niet hij laat ook foto's met andere cid's zien
en als ik dat van peter er invoeg krijg ik alles 2 keer te zienLaatst aangepast door Dimitri Brouwer : 03-01-2010 om 18:59
-
03-01-2010, 20:05 #6
- Berichten
- 330
- Lid sinds
- 18 Jaar
Probeer dit eens:
PHP Code:<?
$sql = mysql_query("
SELECT
c.*,
i.*
FROM
contest AS c
LEFT JOIN
imgreg AS i
ON
c.id = i.cid
ORDER BY
i.cid
");
?>
</span></span>
-
03-01-2010, 20:13 #7
- Berichten
- 30
- Lid sinds
- 16 Jaar
Als ik dat doe krijg ik query was empty
-
04-01-2010, 12:26 #8
- Berichten
- 84
- Lid sinds
- 17 Jaar
beide methodes hebben voor en nadelen.
101 query's hebben een zeker belasting op de DB server.
Echter kan het heel goed zijn dat je Join in totaal een zwaardere belasting vormen op je DB server dan 101 losse query's.
Denk bijv. aan het feit dat 101 simpele losse query's waarschijnlijk voor het overgrote deel erg goed gecached kunnen worden. Die join is in 1 geheel en als 1 deel van de data wijzigd dan zal de hele query opnieuw moeten worden samen gesteld en dat is er belastend als de set (erg) groot is.
Mijn "advies";
Kijk eerst of je het zonder Joins op jouw huidige kennis niveau aan de gang krijgt en ga daarna kijken (als het nodig EN nuttig blijkt) om de boel te "optimaliseren".
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic