php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.05.2006, 18:39  
Neuer Benutzer
 
Registriert seit: 24.05.2006
Beiträge: 11
Sauer
Standard Anfänger braucht hilfe bei mysql abfrage :)

Hi Leute,

bin ein totaler Anfänger in sachen php und mysql. Wollte mir ein Link Script schreiben. Hab jedoch ein kleines problem. Da bräuchte ich eure Hilfe.
Also hab mir in der Datenbank 2 Tabellen erstellt:

links:
id_link
name
beschreibung
url
num_cat (um de relation herzustellen)

links_cat:
id_cat
name

Jetzt möchte ich dass er mir die Namen der Kategorien anzeigt

Das habe ich folgendermassen gemacht:


Code:
 $query="SELECT name FROM link_cat ORDER BY name"; 
$sq = @mysql_query($query) or die(mysql_error()); 

while($val=mysql_fetch_array($sq)) 
{ 
echo "".$val["name"]."
";        
}

Soweit sogut. Jetzt will ich das er mir die Anzahl der Links pro Kategorie hinter den Namen der Kategorie anzeigt
(z.b. Nachtleben <--Name der Rubrik (2) <-- Anzahl der Links in der Kategorie)

Hab mal versucht mit einer zweierten query



Code:
 $sql2="SELECT COUNT(*) AS num FROM links WHERE num_cat='".$val['id_cat']."'"; 
$data2= @mysql_query($sql2) or die(mysql_error()); 
while($val2=mysql_fetch_array($data2)) 
{ 
echo "".$val2['num'].""; 
}
Da ist mein problem, würde mich über eure Hilfe freuen.

Vielen dank
Sauer
Sauer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.05.2006, 18:43  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Du hast in deinem ersten Query "SELECT name" in deinem zweiten Query willst du aber auf "id_cat" zugreifen. Also muss dein erster SELECT so heißen "SELECT name, id_cat".

Sollte aber reichen wenn du dies hier schreibst um die Anzahl der Links zu bekommen:

Code:
$sql2="SELECT id_link FROM links WHERE num_cat='".$val['id_cat']."'";

$sq2 = @mysql_query($sql2) or die(mysql_error());
$anzahl = mysql_num_rows($sq2);
Flor1an ist offline   Mit Zitat antworten
Alt 24.05.2006, 19:11  
Neuer Benutzer
 
Registriert seit: 24.05.2006
Beiträge: 11
Sauer
Standard

Vielen dank für deine Hilfe. Hab das jetzt im esten query geändert, und der 2te Query sieht jetzt so aus:

PHP-Code:
<?php$sql2="SELECT id_link FROM links WHERE num_cat='".$val['id_cat']."'"
$sq2 = @mysql_query($sql2) or die(mysql_error()); 
while(
$anzahl mysql_num_rows($sq2))
mysql_error(); 
{    
        
        
echo 
"$anzahl";        
}

?>
Er zeigt mir als resultat eine 0 an. Obwohl in jeder kategorie indestens ein Link drin ist!

Vielen Dank
Sauer
Sauer ist offline   Mit Zitat antworten
Alt 24.05.2006, 19:13  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ich hab doch geschrieben $anzahl = mysql_num_rows($sq2); da steht doch nichts von while oder sonst etwas! Lass das ganze while() mal weg ...
Flor1an ist offline   Mit Zitat antworten
Alt 24.05.2006, 19:17  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 466
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi, also das "@" scheint heute forumweit ein Problem zu sein!!! Das "@" unterdrückt mögliche Fehlermeldungen etc.!! Entferne das mal bitte, damit mysql_error() auch was zu zeigen hat!!

Dann würde ich Dich bitten, die [ & ] aus dem Query zu entfernen... ich hatte selbst damit immer ein wenig Ärger... also bitte mal so:

PHP-Code:
<?php
$val_temp 
$val['id_cat'];
$sql2="SELECT id_link FROM links WHERE num_cat='$val_temp' ";  
$sq2 mysql_query($sql2) or die( mysql_error() ); 
?>
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline   Mit Zitat antworten
Alt 24.05.2006, 19:18  
Gast
 
Beiträge: n/a
Standard

Jetzt überlege bitte mal, was du da geschrieben hast!!

PHP-Code:
<?php
$sql2
="SELECT id_link FROM links WHERE num_cat='".$val['id_cat']."'"
?>
Wieviele Treffer kann es da wohl geben?

PHP-Code:
<?php
while($anzahl mysql_num_rows($sq2)) 
   
mysql_error(); 
?>
Das müsste eigentlich eine Endlosschleife sein, wenn es Treffer gibt.

Gebe mal $sql2 aus, ich vermute mal, dass da nicht das drinsteht, was du erwartest.

Gruß
phpfan
  Mit Zitat antworten
Alt 24.05.2006, 19:19  
Neuer Benutzer
 
Registriert seit: 24.05.2006
Beiträge: 11
Sauer
Standard

Danke für die schnelle antwort, es bleibt aber beim alten, er zeigt mir immer noch die 0
grüsse Sauer
Sauer ist offline   Mit Zitat antworten
Alt 24.05.2006, 19:22  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

mysql_error() gibt dir mit oder ohne @ eine Fehlermeldung aus. der Befehl hat ja nicht direkt etwas mit mysql_query() zutun. Ansich kannst du mysql_error() auch später im Skript aufrufen.

Deine Probleme mit [ und ] lagen wohl daran dass du das Array direkt in " " aufrufen wolltest, wenn dus richtig schreibst, so wie Sauer, dann bekommt man damit keinen Ärger. Ich schreibe auch gleich Arrays in den Query um mir viele Zusatzvariablen zu sparen.

Nur als Info nich als Kritik auffassen!
Flor1an ist offline   Mit Zitat antworten
Alt 24.05.2006, 19:23  
Gast
 
Beiträge: n/a
Standard

Weil es eben keine Treffer gibt, und wie schon erwähnt, ist es bei dem Script auch besser so, denn sonst hättest du eine Endlosschleife.

Gruß
phpfan
  Mit Zitat antworten
Alt 24.05.2006, 19:24  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wenn er immer noch die 0 ausgibt dann lass dir mal vor $sq2 die Variable $var['id_cat']; ausgeben um zu sehen ob du wenigstens die richtige ID ausliest.

Dann kannste noch checken ob der Query richtig ist.
Flor1an 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
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
MySQL Abfrage als PHP class d3rbastl3r PHP Tipps 2008 2 11.06.2008 15:41
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
Datum bezogene mysql abfrage ApfeL Datenbanken 5 22.10.2006 16:03
MySQL Abfrage macht Seite langsam Datenbanken 11 19.10.2006 19:38
PHP <--> MySQL | Brauche Hilfe ahnungsloser Datenbanken 18 16.02.2006 21:49
Mysql startet nicht mehr ??? Hilfe ??? c01001 Datenbanken 12 25.01.2006 00:10
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
einfache mysql abfrage und mysql update haut nicht ganz hin djrace PHP Tipps 2005-2 6 12.08.2005 15:28
Mysql Abfrage Datenbanken 4 27.02.2005 22:26
PDF aus einer Mysql abfrage b.z.w. aus php erzeugen PHP Tipps 2005 3 05.02.2005 16:47
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql abfrage für anfänger, mysql suchanfrage, mysql abfrage, mysql für anfänger, mysql abfrage endlosschleife

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:29 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.