php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.08.2004, 18:57  
Gast
 
Beiträge: n/a
Standard Abfrage funktioniert zwar, aber nicht korrekt

Hi,

ich bin dabei, ein Forum zu programmieren. Dafür brauche ich eine verschachtelte Abfrage, die mir zu jedem Forum die Anzahl der Threads usw. anzeigt. Hier erstmal der Codeausschnitt:


Code:
//Beginn der Hauptabfrage

$sql="select * from Forum";
startsql($sql);
while ($row=mysql_fetch_array ($result))
{
$threads=0;
$forum=$row['ForumnameID'];

//Beginn der verschachtelten Abfrage

$sql1="select * from ForumThread where ForumnameID='$forum'";
startsql($sql1);
while ($row1=mysql_fetch_array ($result))
{
$threadID=$row1['ThreadID'];
$threads++;
}

//Ende der verschachtelten Abfrage

echo "Forum-Nr.: ".$row['ForumnameID']."usw und sofort...";
}

//Ende der Hauptabfrage

Folgendes Problem: Solange ich die verschachtelte Abfrage benutze, zeigt die Hauptabfrage mir immer nur den ersten Datensatz an, auch wenn mehrere Foren, also mehrere Datensätze, angelegt sind. Lasse ich die verschachtelte Abfrage weg, wird die korrekte Anzahl Datensätze in der Hauptabfrage ausgegeben. Weiss jemand, woran das liegen kann?

Gruss und vielen Dank im Voraus,
crazypete
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.08.2004, 22:42  
Gast
 
Beiträge: n/a
Standard

Verschachtelte Abfragen sind schlechte programmierung und sind (eigentlich immer) auch anders lösbar. Ich weiss jetzt nicht deine genaue Tabellenstruktur, möchte aber mal ein Beispiel zeigen wie es aussehen könnte:

SELECT foren.foren_name, COUNT(threads.tread_id) AS themen
FROM foren
INNER JOIN threads
ON threads.tread_id = foren.foren_id
GROUP BY foren.foren.id

Ich habe diese Abfrage jetzt nicht getestet und bin mir auch nicht sicher das sie korrekt wäre. Aber du siehst das es auch ohne verschachtelte schleifen geht.
  Mit Zitat antworten
Alt 16.08.2004, 09:10  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Grundsätzlich hat tbat ja recht. Was ich bei dir aber auch noch sehe, ist deine startsql()-Funktion, die vermutlich irgenwo die Variable "$result" füllt. Wenn du nun in beiden Ebenen die gleiche Variable brauchst, kann das nur Probleme geben.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
header nach mehrstufiger abfrage Promaetheus PHP Tipps 2008 5 27.09.2007 14:33
Session funktioniert nicht bei session.use_cookies = Off Quagga PHP Tipps 2007 13 13.01.2007 18:27
Abfrage mit NOT LIKE funktioniert nicht wirklich PsychoEagle Datenbanken 6 26.09.2006 11:45
Ergebnisse einer Abfrage in Tabelle speichern PsychoEagle Datenbanken 0 21.09.2006 15:59
DB Abfrage nach email funktioniert nicht tinchen Datenbanken 3 15.05.2006 13:20
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] SQL Abfrage funzt nicht Datenbanken 2 04.02.2005 11:09
Abfrage funktioniert unter MySQL aber nicht unter MS SQL Schiedsrichter Datenbanken 2 27.01.2005 15:43
if- else abfrage funktioniert irgendwie nicht PHP Tipps 2004-2 12 19.11.2004 00:50
Probleme mit IP Abfrage PHP Tipps 2004 6 05.11.2004 14:00
abfrage sortierung aber wie Fraylman Datenbanken 13 16.07.2004 15:32
komplizierte mySQL Abfrage Datenbanken 6 25.06.2004 15:34
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16
[Erledigt] Variable per GET übergeben und DB Abfrage nutzen PHP Tipps 2004 4 01.06.2004 15:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ist zwar standart aber korrekt, wie funktionieren suchabfragen, ms sql verschachtelte abfragen, mehrstufige sql-select abfragen, sql mehrstufige select, php abfragen funktionieren nicht, php mehrstufige abfrage, wie arbeitet html und datenbanken, php abfragen < aber nicht >, mehrstufiger select php html, code funktioniert nicht? ist aber korrekt! php, zwar funktioniert, abfrage anzahl funktioniert nicht, korrekten nicht sicher, \select abfragen verschachteln\, mehrstufige abfragen if, zwar aber

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.