php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.10.2009, 21:13  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Unlimited befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Forum programmierung

EDIT:// Mein erster Post ging daneben, kann man das Thema ins Anfänger Forum verschieben? Danke.
Hallo zusammen,
erstmal: ich freue mich auf das forum gestoßen zu sein - schönes Forum

Nun zu meiner Frage/Bitte:
Ich habe html, css und php Kenntnisse und wollte mich mal - aus reiner neugier - an ein mini-Forum versuchen.
Nun habe ich leider einen Hänger. Ich will nämlich mit php und mysql erstmal ein System erstellen, dass so aussieht
Kategorie
Forum1
Forum2
Forum3
Kategorie2
Forum1
Forum2
Also ich habe in MySQL eine Datenbank angelegt und dort 2 Tabellen erstellt: 'Kategorien' und 'Foren'.
Dann soll das index.php Script erkennen: Kategorie1: dazu gehört Forum1 und 2 und zu der 2. Kategorie soll Das und das Forum gehören (zB. phpbb)
Hier der index.php code:
PHP-Code:
<?php
include("include.php");
$result mysql_query("SELECT id, name
                      FROM kategorien"
);
$menge mysql_num_rows($result);
while(
$row mysql_fetch_row($result))
{
?>
<h3><?php echo $row[1]; ?></h3>
<?php
}
$kategorie $_GET["kategorie"];
$results mysql_query("SELECT id, name, kategorie
FROM foren WHERE kategorie = mysql_escape_string($kategorie)"
);
$menge mysql_num_rows($results);
while(
$row mysql_fetch_row($results))
{
echo 
$row[1];
}
?>
Nun das Ergebnis:
HTML-Code:
<h3>test</h3>

<h3>ddd</h3> 
(Die beiden Kategorien)

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\forum\index.php on line 15

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\forum\index.php on line 16
(Hier sollte eigendlich das Forum 'testa' stehen)
Leider kommen bei mir immer nur zuerst die Kategorien, dann erst das forum, aber ich will zb.
test
testa
ddd
Weiß jemand einen kleinen Tipp, wie ich im PHP-Code so etwas realisiere (Muss nicht gleich ein Code sein, kann auch ein Tipp sein, in welche Richtung man es Programmieren muss)
Vielen dank im Vorraus

Geändert von Unlimited (01.10.2009 um 22:03 Uhr).
Unlimited ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.10.2009, 21:19  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Willkommen im Forum!

Damit Du hier nicht mit dem falschen Fuß einsteigst beherzige bitte diesen Thread.
Wichtige Punkte:
  • Wir helfen gern, wenn Du Initiative zeigst. Macht mal ist nicht.
  • Bitte benutze die Code-Box-Buttons und poste relevanten Code.
  • Bitte stelle verständliche Fragen in ordentlicher Sprache. Sei prägnant!
  • Bitte verwende für spätere Leser einen Threadtitel, der das Problem kurz beschreibt
  • Bitte drängle nicht.
  • Bitte markiere abgeschlossene Themen über den "Erledigt"-Link oben links.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 01.10.2009, 22:01  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Unlimited befindet sich auf einem aufstrebenden Ast
Standard

Dankeschön für die Tipps. Ich habe jetzt meinen Beitrag versucht danach zu gestalten.
Unlimited ist offline  
Alt 01.10.2009, 22:23  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
PHP-Code:
$results mysql_query("SELECT id, name, kategorie
FROM foren WHERE kategorie = mysql_escape_string($kategorie)"
); 
Wär mir neu, daß das so funktioniert...
Zitat:
PHP-Code:
while($row = mysql_fetch_row($result))
{
?>
<h3><?php echo $row[1]; ?></h3>
<?php
}
ich schreib auch gern html ausserhalb der PHP-Tags, aber da macht'n echo schon Sinn...

Geändert von Arne Drews (01.10.2009 um 22:30 Uhr). Grund: Wat zujefücht...
Arne Drews ist offline  
Alt 01.10.2009, 22:40  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Unlimited befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Arne Drews Beitrag anzeigen
Wär mir neu, daß das so funktioniert...
ich schreib auch gern html ausserhalb der PHP-Tags, aber da macht'n echo schon Sinn...
PHP-Code:
PHP-Code:
$results mysql_query("SELECT id, name, kategorie 
FROM foren WHERE kategorie = mysql_escape_string($kategorie)"
); 
Meinst du damit mysql_escape_string()? (Komischerweise steht genau dieser Code in meinem PHP Buch) Falls ja: Deshalb kommt da ja auch
Code:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\forum\index.php on line 15

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\forum\index.php on line 16
zustande. Habe eigentlich im 1. Beitrag dazu geschrieben, dass ich dann bei $kategorie = $_GET["kategorie"] statt "kategorie" "1" schreiben muss, ist wohl aber irgendwie nicht gespeichert worden.
-----------------------------------------------------
PHP-Code:
while($row = mysql_fetch_row($result)) 

?> 
<h3><?php echo $row[1]; ?></h3> 
<?php 
}
Danke für den Tipp, aber ich schreibe lieber erstmal grob und verbessere dann die Schönheitsfehler.
MfG.
Unlimited ist offline  
Alt 01.10.2009, 22:50  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

nein mysql_real_escape_string musste an den variablen anwenden und nciht in der mysql query

also
PHP-Code:
$kategorie mysql_escape_string($kategorie);
$results mysql_query("SELECT id, name, kategorie 
FROM foren WHERE kategorie ="
.$kategorie); 
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 01.10.2009, 22:50  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Je länger man sich das Skript anschaut, hat man das Gefühl,
Dir irgendwie von dem Vorhaben abraten zu wollen...
Code:
01 <?php
02 include("include.php");
03 $result = mysql_query("SELECT id, name FROM kategorien");
04 $menge = mysql_num_rows($result);
05 while($row = mysql_fetch_row($result)) {
06 ?>
07 <h3><?php echo $row[1]; ?></h3>
08 <?php
09 }
10 $kategorie = $_GET["kategorie"];
11 $results = mysql_query("SELECT id, name, kategorie FROM foren WHERE kategorie = mysql_escape_string($kategorie)");
12 $menge = mysql_num_rows($results);
13 while($row = mysql_fetch_row($results))
14 {
15 echo $row[1];
16 }
17 ?>
Zeile 6 bis 8: Mit einem echo zu einer Zeile reduzierbar.
Zeile 10: GET-Parameter ungefilter anzunehmen, gerade bei DB-Handlings => "Aua"
Zeile 11: Wie bereits im Post davor angedeutet: Syntaxfehler! (ein blick aufs codehighlightning sollte Aufschluß geben)

Was nicht unbedingt ein Fehler sein muß: Ich verwende immer mysql_fetch_object() bzw. mysql_fetch_assoc().

Zu Deinen Fehlermeldungen:
Da Zeile 11 nichts sinnvolles zurückgibt, kann mysql_num_rows() nix dem angeblichen $result anfangen.

Zu Deiner Wunschausgabe:
Kurz und knapp: Wird nix, da die Schleifen nacheinander laufen!
Die Foren müssen innerhalb der ersten Schleife geholt werden.
Vielleicht kommst da auch mit ner cleveren JOIN-Taktik besser weg,
aber das hab ich mir so genau jetzt nicht angesehen.


Öhm... Wo ich gerade Deinen letzten Post gelesen habe:
Zitat:
Meinst du damit mysql_escape_string()? (Komischerweise steht genau dieser Code in meinem PHP Buch)
Sch...ß Buch, wa? M&T oder Data Becker?

Zitat:
Danke für den Tipp, aber ich schreibe lieber erstmal grob und verbessere dann die Schönheitsfehler.
Wenn Du bei einem umfangreichen Code, wie es ein Forum am Ende ergibt,
"später" die "Schönheitsfehler" ausmerzen willst, bin ich raus...
Arne Drews ist offline  
Alt 01.10.2009, 22:56  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

so in etwa könnte das ganze funktionieren:

PHP-Code:
include("include.php");
$anzahlmysql_query("SELECT count(id) as anzahl
                      FROM kategorien"
);

while(
$row mysql_fetch_object($anzahl))
{
echo 
'<h3>'.$row->anzahl.'</h3>';
}
$kategorie mysql_escape_string($_GET["kategorie"]);
$results mysql_query(sprintf("SELECT id, name, kategorie
FROM foren WHERE kategorie = '%s'"
,$kategorie);
$i 0;
while(
$row mysql_fetch_object($results))
{
echo 
$i;
$i++;

so in etwa...
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 01.10.2009, 23:01  
Neuer Benutzer
 
Registriert seit: 01.10.2009
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Unlimited befindet sich auf einem aufstrebenden Ast
Standard

Das Große Buch: PHP5 & MySQL, Databecker.
Deiner Frage nach zu Urteilen sollte ich mir besser ein anderes Buch holen
Und ich werde versuchen in Zukunft gleich alle Fehler zu beseitigen.
Naja ich werde mal versuchen mit anderen Methoden Gästebücher usw. zu programmieren bevor ich mich wieder da dran mache. (Wenn mir schon ein Erfahrener sagt, dass das nichts wird...)
Ich muss aber kurz etwas nachfragen: Was meinst du mit JOIN-Taktik und wie WÜRDE ein solcher Code als Beispiel aussehen?

PHP-Code:
include("include.php"); 
$anzahlmysql_query("SELECT count(id) as anzahl 
                      FROM kategorien"
); 

while(
$row mysql_fetch_object($anzahl)) 

echo 
'<h3>'.$row->anzahl.'</h3>'

$kategorie mysql_escape_string($_GET["kategorie"]); 
$results mysql_query(sprintf("SELECT id, name, kategorie 
FROM foren WHERE kategorie = '%s'"
,$kategorie); 
$i 0
while(
$row mysql_fetch_object($results)) 

echo 
$i
$i++; 

Zeigt mir das nicht eher die Anzahl von den Kategorien?

Geändert von Unlimited (01.10.2009 um 23:09 Uhr).
Unlimited ist offline  
Alt 01.10.2009, 23:09  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Deiner Frage nach zu Urteilen sollte ich mir besser ein anderes Buch holen
Ich bin hier glaube ich nicht der einzige, der die Bücher für einen Satz mit X hält...
Zitat:
Und ich werde versuchen in Zukunft gleich alle Fehler zu beseitigen.
Fehler machen wir doch alle mal, aber man sollte schon von Anfang an auf Richtigkeit achten.
Hat ein wenig mit Verantwortung zu tun.
Zitat:
Naja ich werde mal versuchen mit anderen Methoden Gästebücher usw. zu programmieren bevor ich mich wieder da dran mache.
Ja, nicht böse sein, aber ein Forum ist ne harte Nuß. Steckt viel drin, was einem von außen nicht direkt auffällt.
Aber mit Gästebüchern anzufangen, finde ich persönlich ne akzeptable Wahl.
Zitat:
Ich muss aber kurz etwas nachfragen: Was meinst du mit JOIN-Taktik und wie WÜRDE ein solcher Code als Beispiel aussehen?
MySQL -> JOIN

@BlackScorp:
Und wie bekommt man damit eine Ausgabe, wie
Zitat:
Kategorie1
-Forum1
-Forum2
...

Kategorie2
-Forum1
...

usw...
Das ergibt doch alles nur
Zitat:
Kategorie1
Kategorie2
...

Forum1
Forum2
...
Und bitte mysql_real_escape_string() verwenden!
Arne Drews ist offline  
 


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
Suche Forum mit folgenden funktionen homezonebenny PHP-Fortgeschrittene 6 03.04.2008 16:45
Problem mit test forum. kann nicht in DB schreiben tux_rules PHP Tipps 2008 10 30.01.2008 11:52
Forum in eigenes Projekt einbinden SingleSignOn agrajag PHP Tipps 2008 4 12.10.2007 15:15
PhpBB Forum an bestehende Userdatenbank anknüpfen ChrisV PHP Tipps 2006 8 02.10.2006 13:17
Kniffelig: DB Layout check, Instanzierbares Forum [pic] Melchior Datenbanken 6 09.09.2006 16:49
PHP Forum – ungelesene Beiträge im Forum I-Spy PHP Tipps 2005-2 14 09.10.2005 13:07
[Erledigt] Forum ohne mySQL ??? Off-Topic Diskussionen 14 15.07.2005 00:08
Forum: Forenstruktur anzeigen &amp;amp; als gelesen markieren PHP-Fortgeschrittene 4 05.06.2005 22:29
Forum mit Registrierungsdaten gesucht! Beitragsarchiv 1 03.01.2005 16:22
Forum sortieren Datenbanken 1 07.09.2004 13:21
PHP Galerie & Forum auf Seite includen PHP Tipps 2004 3 27.08.2004 09:54
Eigenes FOrum PHP Tipps 2004 11 14.08.2004 13:03
"Wo bin ich" hier im Forum irgendwie kaputt? freq.9 Off-Topic Diskussionen 6 09.06.2004 16:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
forum programmieren php, php forum programmieren, http://www.php.de/php-einsteiger/59544-erledigt-forum-programmierung.html, warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in, mysql_fetch_row() expects parameter 1 to be resource, boolean given, forum programmieren, eigenes forum programmieren, php02 lösung, forum php programmieren, mysql_fetch_row() expects parameter 1 to be resource, boolean given in, mysql_fetch_object anzahl, warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in, warning: mysql_fetch_row() expects parameter 1 to be resource, boolean, mysql_fetch_row() expects parameter 1 to be resource, warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in, eigenes forum programmieren php, php programmierer forum, warning mysql_fetch_row expects parameter 1 to be resource boolean given in, forum programmieren mit php, foren programmieren in php aber wie

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