Beste sitedealers,
Helaas ben ik tegen een probleem aangelopen dat ik niet opgelost krijg. Het gaat hierbij om het toevoegen van externe data uit een andere tabel uit mysql.
(Als het goed is kan het ook niet met $row['name'] en dus het ik het al met $_GET geprobeerd maar ook dit werkte niet.)PHP Code:
<?php
$query = "SELECT * FROM users WHERE active = '1' ORDER BY username DESC";
$result = @mysql_query($query);
if($result) {
$i = 1;
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '<tr><td width="20" align="center">'.$i.'</td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/user/'.$row['username'].'">'.$row['username'].'</a></span></td>';
echo '<td>'.$row['nick'].'</td>';
echo '<td>'.$row['realm'].'</td>';
echo '<td>'.$row['zone'].'</td>';
echo '<td>'.$row['count'].'</td>';
echo '<td>'.$row['name'].'</td></tr>';
$i++;
}
}
?>
Het probleem zit hem bij $count en $name, deze horen uit users maar uit een andere tabel te komen. Nu heb ik deze geprobeerd op te halen op de volgende manier:
(Hier haalt hij dus name op vanuit een andere tabel waar de username hetzelfde is als de $username uit de huidige table.)PHP Code:
<?php
$name = $_GET['name'];
$query = "SELECT name FROM `screenshots` WHERE `username` = '".$username."' ";
$result = @mysql_query($query);
$row = mysql_fetch_array($result); ?>
Iemand enige idee waar ik de fout in ga?
- ophalen uit database probleem (php)
-
23-05-2010, 20:59 #1Particulier
- Berichten
- 418
- Lid sinds
- 16 Jaar
ophalen uit database probleem (php)
-
In de schijnwerper
Dedicated Server bij Webmedia - NijmegenHostingBlogs plaatsen op websites met echte content & bezoekers inclusief gratis tekst?!AdvertentieruimteBacklinks.nl - DA70+ TF60+ 1800+ WebsitesLinkpartnersExclusieve SEOtool.nl deal - 77 geschreven & gepubliceerde artikelen voor €1.000!Advertentieruimte -
23-05-2010, 21:26 #2
- Berichten
- 59
- Lid sinds
- 14 Jaar
PHP Code:<?php
$name = $_GET['name'];
$query = "SELECT name FROM `screenshots` WHERE `username` = '".$name."' ";
$result = @mysql_query($query);
$row = mysql_fetch_array($result); ?>
-
23-05-2010, 21:31 #3Particulier
- Berichten
- 418
- Lid sinds
- 16 Jaar
Geprobeerd maar geen resultaat, sowieso word "name" ook gebruikt in de andere tabel maar heeft daar een andere functie. Misschien dat dit met elkaar botst?
-
24-05-2010, 07:42 #4
- Berichten
- 256
- Lid sinds
- 14 Jaar
Dergelijke problemen zijn toch niet zo heel moeilijk op te lossen?
Je moet gewoon bij het begin beginnen:
Ik ga er van uit dat je geen PHP foutmelding krijgt anders had je die wel gepost, toch?
Dan zou ik een 'echo $query;' in de code zetten om te controleren hoe de query er uit komt te zien.
Vervolgens zou ik die query met bijvoorbeeld PHPMyAdmin uitvoeren tegen de database en kijken wat er dan voor resultaat verschijnt.
Ik denk dat je dan al heel ver bent met het vinden van het probleem.
-
24-05-2010, 08:49 #5Particulier
- Berichten
- 418
- Lid sinds
- 16 Jaar
Zal er eens mee aan de slag gaan, PHP is niet één van mijn sterkste punten ondanks dat ik het door dit soort projecten wel probeer te leren. Maar af en toe loop ik dan nog tegen van dit soort foutjes aan die ik nog nooit eerder heb meegemaakt en niet opgelost krijg.
-
24-05-2010, 08:50 #6Particulier
- Berichten
- 19
- Lid sinds
- 14 Jaar
Gebruik je nou twee keer de variabele $row om verschillende arrays in te stoppen? Dat lees ik nu volgens mij...
Misschien moet je dat niet doen. Dus twee verschillende variabelen gebruiken.
-
24-05-2010, 09:52 #7Particulier
- Berichten
- 418
- Lid sinds
- 16 Jaar
Zoals ik al had aangegeven is PHP zeker niet mijn sterkste kant. Wat zijn mijn overige opties nog die ik kan gebruiken om verschillende variabelen te gebruiken?
-
24-05-2010, 09:58 #8
- Berichten
- 102
- Lid sinds
- 16 Jaar
Haal ook eens overal de @ weg.
Dit onderdrukt foutmeldingen waar je soms best iets aan hebt ;)
-
24-05-2010, 10:09 #9Particulier
- Berichten
- 19
- Lid sinds
- 14 Jaar
PHP Code:<?php
$sUsers = "SELECT * FROM users WHERE active = '1' ORDER BY username DESC";
$rUsers = mysql_query($sUsers) or die(mysql_error());
if($rUsers) {
$i = 1;
while($row = mysql_fetch_array($rUsers, MYSQL_ASSOC)) {
$sName = mysql_query("SELECT * FROM `screenshots` WHERE `username` = '".$row['username']."' LIMIT 1") or die(mysql_error());
$row2 = mysql_fetch_array($sName);
echo '<tr><td width="20" align="center">'.$i.'</td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/user/'.$row['username'].'">'.$row['username'].'</a></span></td>';
echo '<td>'.$row['nick'].'</td>';
echo '<td>'.$row['realm'].'</td>';
echo '<td>'.$row['zone'].'</td>';
echo '<td>'.$row2['count'].'</td>';
echo '<td>'.$row2['name'].'</td></tr>';
$i++;
}
}
?>
-
24-05-2010, 10:27 #10Particulier
- Berichten
- 651
- Lid sinds
- 16 Jaar
Waarom niet heel simpel zo:
PHP Code:<?php
$nr = '1';
$query = "SELECT * FROM users WHERE active = '".mysql_real_escape_string($nr)."' ORDER BY username DESC";
$result = mysql_query($query);
if(isset($result))
{
$i = 1;
while($row = mysql_fetch_assoc($result))
{
echo '<tr><td width="20" align="center">'.$i.'</td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/user/'.$row['username'].'">'.$row['username'].'</a></span></td>';
echo '<td>'.$row['nick'].'</td>';
echo '<td>'.$row['realm'].'</td>';
echo '<td>'.$row['zone'].'</td>';
echo '<td>'.$row['count'].'</td>';
echo '<td>'.$row['name'].'</td></tr>';
$i++;
}
}
?>
<?php
$name = $_GET['name'];
$query = "SELECT * FROM screenshots WHERE username = '".mysql_real_escape_string($username)."' ";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result); ?>
Dit bedoelde ik :
<?php
$name = $_GET['name'];
$query = "SELECT name FROM `screenshots` WHERE `username` = '".$username."' ";
$result = @mysql_query($query);
$row = mysql_fetch_array($result); ?>
-
24-05-2010, 10:42 #11
- Berichten
- 1.470
- Lid sinds
- 18 Jaar
Die hierboven gaat ook niet werken..
<?php
$name = $_GET['name'];
$query = "SELECT username FROM `screenshots` WHERE `username` = '".$name."' ";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
?>
-
24-05-2010, 14:06 #12Particulier
- Berichten
- 418
- Lid sinds
- 16 Jaar
PHP Code:<?php
$sUsers = "SELECT * FROM users WHERE active = '1' ORDER BY username DESC";
$rUsers = mysql_query($sUsers) or die(mysql_error());
if($rUsers) {
$i = 1;
while($row = mysql_fetch_array($rUsers, MYSQL_ASSOC)) {
$sName = mysql_query("SELECT * FROM `screenshots` WHERE `username` = '".$row['username']."' LIMIT 1") or die(mysql_error());
$row2 = mysql_fetch_array($sName);
echo '<tr><td width="20" align="center">'.$i.'</td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/user/'.$row['username'].'">'.$row['username'].'</a></span></td>';
echo '<td>'.$row['nick'].'</td>';
echo '<td>'.$row['realm'].'</td>';
echo '<td>'.$row['zone'].'</td>';
echo '<td>'.$row2['count'].'</td>';
echo '<td>'.$row2['name'].'</td></tr>';
$i++;
}
}
?>
Ben er zelf al mee bezig geweest maar ik krijg nog geen output op dit moment:
PHP Code:$sCount = mysql_query("SELECT COUNT(*) AS game FROM screenshots WHERE `nick` = '".$row['username']."' and approved = '1'") or die(mysql_error());
$row2 = mysql_fetch_array($sCount);
PHP Code:echo '<td>'.$row2['count'].'</td>';
-
24-05-2010, 14:11 #13Particulier
- Berichten
- 19
- Lid sinds
- 14 Jaar
PHP Code:$sNC = mysql_query("SELECT name,COUNT(*) AS count FROM `screenshots` WHERE `username` = '".$row['username']."' LIMIT 1") or die(mysql_error());
$row2 = mysql_fetch_array($sNC);
-
24-05-2010, 14:30 #14Particulier
- Berichten
- 418
- Lid sinds
- 16 Jaar
Graag zou ik hem dan als "ORDER BY views DESC LIMIT 1" willen hebben bij $row2['name'].
PHP Code:<?php
$sUsers = "SELECT * FROM users WHERE active = '1' ORDER BY username DESC";
$rUsers = mysql_query($sUsers) or die(mysql_error());
if($rUsers) {
$i = 1;
while($row = mysql_fetch_array($rUsers, MYSQL_ASSOC)) {
$sNC = mysql_query("SELECT name, id, url,COUNT(*) AS count FROM `screenshots` WHERE `username` = '".$row['username']."' LIMIT 1") or die(mysql_error());
$row2 = mysql_fetch_array($sNC);
echo '<tr><td width="20" align="center">'.$i.'</td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/user/'.$row['username'].'">'.$row['username'].'</a></span></td>';
echo '<td>'.$row['nick'].'</td>';
echo '<td>'.$row['realm'].'</td>';
echo '<td>'.$row['zone'].'</td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/user/'.$row['username'].'">'.$row2['count'].'</a></span></td>';
echo '<td><span class="class2"><a href="http://www.wowscreenshot.com/screenshots/'.$row2['id'].'-'.$row2['url'].'">'.$row2['name'].'</a></span></td></tr>';
$i++;
}
}
?>
-
24-05-2010, 14:37 #15Particulier
- Berichten
- 19
- Lid sinds
- 14 Jaar
dan typ je dat achter de query?
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