php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.09.2004, 16:56  
Gast
 
Beiträge: n/a
Standard tabellen verknuepfen und ergebnisse ueber link ausgeben

ich hoffe ich habe die formatierung etwas lesbar hinbekommen.
das kommentieren des codes basiert auf mein "verständniss" ihr dürft auch lachen,
doch nur so erkennt ihr meine probleme.


hier der code für tabelle 1 maincat:

diese datei hat den namen kategorie_web.php

<html>
<head>
<title>Navigation</title>
</head>
<body>

<table>
<tr>
<td><h3>Navigation</td>
</tr>
<tr>
<td></td>
<?php
/*verbindung zum server*/
include ("config.php");

/*tabelle maincat auslesen*/
$res = mysql_query ("select * from maincat");
while($row = mysql_fetch_row($res))
{
?>
<tr>

/*keine ahnung-hier entsteht der link-$row[0] ist die ID und $row[1] ist der name*/
<td><a href="content.php?=<?php echo urlencode($row[0]) ?>"target="_self">
<?php echo $row[1] ?></a>
</td>
</tr>
<?php
}
?>
</table>
</body>
</html>
============================================

datei die zweite für tabelle zwei lowercata mit den namen content.php

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Kategorie-Auswahl</title>
</head>
<body>
<?php
/*verbindung zum server nicht nötig nur für mich zum anzeigen*/
include ("config.php");

/* tabelle maincat + lowercata auslesen aber nur von der logig, ob es richtig ist weiss ich nicht */
$res = mysql_query ("select ID, maincat, lowercata from lowercata where maincat");
if (mysql_num_rows($res)==0)
{
/*meldung wenn nichts vorhanden ist*/
echo "<h2>Keine Eintragungen vorhanden</h2>";
}
else
{

/* ansonsten verbindung if weiter oben nehmen */
$menge = mysql_num_rows($res);

/* while ist mir jetz unklar */
while($row = mysql_fetch_row($res))
{
?>

/* zeige spalte maincat und spalte lowercata in tabelle lowercata*/
<h4><?php echo $row[2] ?></h4>
<?php echo $row[3] ?>

/* erzeuge links übernehme die ID von $row[0]=lowercata und von tab maincat jetzt weiss ich nicht weiter */
<a href="content_detail.php?id=<?php echo urlencode($row[0]) ?>
&maincat=<?php echo urlencode($maincat) ?>">Weiterlesen</A>


<hr />
<?php
}
}
?>
</body>
</html>

===============================================

und hier der code für tabelle drei lowercatb
dateiname=content_detail.php

hier bin ich beim experimentieren (der ahhh effekt)
von der logig aus müssten jetzt parameter von datei zwei übernommen werden

<body>
<?php
/* variable=bekomme die ID aber von wo? und ist es so richtig */
$id = $_GET["ID"];

/* variable=bekomme lowercata aber von wo? und ist es so richtig */
$lowercata = $_GET["lowercata"];

/*verbindung zum server*/
include ("config.php");

/* resultat aus und hier müsste jetzt tabelle drei (lowercatb) stehen aber so weit bin ich noch nicht */
$res = mysql_query("select ID, maincat, lowercata from lowercata where ID");

/* was ist jetzt die variable $menge und was hat sie mit den result zu tun */
$menge = mysql_num_rows($res);

/* bei while scheitert es mal wieder */
while($row = mysql_fetch_row($res))
{
?>

/* zeige nun die arrays, aber von welcher tabelle eigentlich tabelle 3 und $rows[0] ist doch überflüssig oder */
<h2><?php echo $rows[0] ?></h2>
<h4><?php echo $rows[1] ?></h4>
<div><?php echo $row[2] ?>
<?php echo $rows[2] ?></div>
<?php
}
?>




/* der link zu content.php doch was ist nun das ?- sollen hier die parameter wieder übernommen werden */
<a href="content.php?kategorie=
<?php echo urlencode($lowercata); ?>">zur&uuml;ck</a>
</div>
</body>
</html>

============================================

zur verdeutlichung:

tabelle eins (maincat) sind rubriken und dienen später (wenn's klappt) als navigation auf der linken seite der page.

stand categorie_web.php:
funktioniert momentan welch glück, doch wenn ich auf ein link klicke bekomme ich alles aus tabelle 2 lowercata angezeigt. darf es aber nicht, sondern nur für den link zugeordnete artikel.

__________________________________________________ ___________

klicke ich nun auf eine rubrik in der navigation, sollte sich im rechten teil der page, eine zweite rubrik öffnen. es dürfen nur kategorien für den entsprechnden link angezeigt werden. hierfür ist datei zwei für lowercata verantwortlich. (content.php) natürlich müssen die ensprechenden parameter zuvor von der datei kategorie_web.php übernommen werden.
__________________________________________________ ___________

ähnlich ist es mit der dritten datei content_detail.php, doch ist hier zu beachten, dass hier keine dritte rubrik vorhanden sein muss.
__________________________________________________ ___________

diesen teil könnte man nun für alle möglichen dinge verwenden wie z.b. einen shop. (vereinfacht)

also angenommen wir haben in der navigation (datei kategorie_web.php und tabelle maincat) eine rubrik bild und foto als link stehen sollte das so funktionieren:

-->Bild und Foto----------------------datei kategorie_web.php tab maincat
...........|Digitalkameras--------------datei content.php tab lowercata
...................|Kameras---------------datei conten_detail.php tab lowercatb
...................|Taschen
...................|CardReader
...................|Stromversorgung
...................|Software
...................|Zubehör

beispiel 2:

-->Arbeitsspeicher
............|DDR
............|DDR ECC
............|SDRAM
............|usw.
.................|dritte rubrik für Arbeitsspeicher nicht vorhanden

anderes beispiel ist mir nicht eingefallen.

das ganze ist ein, ich nenne es frontend und hat nur die aufgabe alles anzuzeigen nichts weiter.

hier die mysql tabellen:

Tabellenstruktur für Tabelle `maincat`

CREATE TABLE `maincat` (
`ID` int(11) NOT NULL auto_increment,
`name` varchar(60) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

________________________________________

Tabellenstruktur für Tabelle `lowercatb`

CREATE TABLE `lowercatb` (
`ID` int(11) NOT NULL auto_increment,
`lowercata` varchar(50) NOT NULL default '',
`lowercatb` varchar(50) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `PRIMARY_KEY` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

_________________________________________

Tabellenstruktur für Tabelle `lowercata`

CREATE TABLE `lowercata` (
`ID` int(11) NOT NULL auto_increment,
`maincat` varchar(5) NOT NULL default '',
`lowercata` varchar(50) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `maincat_id` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

so, zum basteln hast du nun das gleiche wie ich sofern du magst.

hier noch die connect.php

<?PHP
$server = "localhost"; /* Datenbankserver */
$dbname = "test"; /* Datenbankname */
$user = "root"; /* Datenbankuser */
$passwort = ""; /* Datenbankpasswort */
$verbindung=@mysql_pconnect($server, $user, $passwort);
if(! $verbindung)
{
die("Es konnte keine Verbindung zur Datenbank hergestellt werden!");
}
if (! mysql_select_db($dbname))
{
die("Das System kann sich nicht mit der Datenbank verbinden oder,
sie ist nicht vorhanden!");
}
?>

oh man, ist ne menge arbeit, ich hoffe mir kann da einer helfen. ich sitze manche tage bis 22 stunden und habe niemanden von den ich mir rat holen kann. achtung connect.php wurde mehrmals includiert (script 2+3) und dient nur zum aufrufen der dateien. (arbeite local und benötige fehlermeldung)

währe froh, wenn erst einmal script eins und zwei funktioniert.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.09.2004, 21:24  
Erfahrener Benutzer
 
Registriert seit: 21.07.2003
Beiträge: 340
PHP-Kenntnisse:
Fortgeschritten
Simbo
Standard

hier nochmal mastervisions beitrag übersichtlich und formatiert...
---------------------------
ich hoffe ich habe die formatierung etwas lesbar hinbekommen.
das kommentieren des codes basiert auf mein "verständniss" ihr dürft auch lachen,
doch nur so erkennt ihr meine probleme.


hier der code für tabelle 1 maincat:

diese datei hat den namen kategorie_web.php

PHP-Code:
<html> 
<head> 
<title>Navigation</title> 
</head> 
<body> 

<table> 
<tr> 
<td><h3>Navigation</td> 
</tr> 
<tr> 
<td></td> 
<?php 
/*verbindung zum server*/ 
include ("config.php"); 

/*tabelle maincat auslesen*/ 
$res mysql_query ("select * from maincat"); 
while(
$row mysql_fetch_row($res)) 

?> 
<tr> 

/*keine ahnung-hier entsteht der link-$row[0] ist die ID und $row[1] ist der name*/ 
<td><a href="content.php?=<?php echo urlencode($row[0]) ?>"target="_self"> 
<?php echo $row[1?></a> 
</td> 
</tr> 
<?php 

?> 
</table> 
</body> 
</html>
datei die zweite für tabelle zwei lowercata mit den namen content.php

PHP-Code:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
<html> 
<head> 
<title>Kategorie-Auswahl</title> 
</head> 
<body> 
<?php 
/*verbindung zum server nicht nötig nur für mich zum anzeigen*/ 
include ("config.php"); 

/* tabelle maincat + lowercata auslesen aber nur von der logig, ob es richtig ist weiss ich nicht */ 
$res mysql_query ("select ID, maincat, lowercata from lowercata where maincat"); 
if (
mysql_num_rows($res)==0

/*meldung wenn nichts vorhanden ist*/ 
echo "<h2>Keine Eintragungen vorhanden</h2>"

else 


/* ansonsten verbindung if weiter oben nehmen */ 
$menge mysql_num_rows($res); 

/* while ist mir jetz unklar */ 
while($row mysql_fetch_row($res)) 

?> 

/* zeige spalte maincat und spalte lowercata in tabelle lowercata*/ 
<h4><?php echo $row[2?></h4> 
<?php echo $row[3?> 

/* erzeuge links übernehme die ID von $row[0]=lowercata und von tab maincat jetzt weiss ich nicht weiter */ 
<a href="content_detail.php?id=<?php echo urlencode($row[0]) ?> 
&maincat=<?php echo urlencode($maincat?>">Weiterlesen</A> 


<hr /> 
<?php 


?> 
</body> 
</html>
und hier der code für tabelle drei lowercatb
dateiname=content_detail.php

hier bin ich beim experimentieren (der ahhh effekt)
von der logig aus müssten jetzt parameter von datei zwei übernommen werden

PHP-Code:
<body> 
<?php 
/* variable=bekomme die ID aber von wo? und ist es so richtig */ 
$id $_GET["ID"]; 

/* variable=bekomme lowercata aber von wo? und ist es so richtig */ 
$lowercata $_GET["lowercata"]; 

/*verbindung zum server*/ 
include ("config.php"); 

/* resultat aus und hier müsste jetzt tabelle drei (lowercatb) stehen aber so weit bin ich noch nicht */ 
$res mysql_query("select ID, maincat, lowercata from lowercata where ID"); 

/* was ist jetzt die variable $menge und was hat sie mit den result zu tun */ 
$menge mysql_num_rows($res); 

/* bei while scheitert es mal wieder */ 
while($row mysql_fetch_row($res)) 

?> 

/* zeige nun die arrays, aber von welcher tabelle eigentlich tabelle 3 und $rows[0] ist doch überflüssig oder */ 
<h2><?php echo $rows[0?></h2> 
<h4><?php echo $rows[1?></h4> 
<div><?php echo $row[2?> 
<?php echo $rows[2?></div> 
<?php 

?> 

 
 

/* der link zu content.php doch was ist nun das ?- sollen hier die parameter wieder übernommen werden */ 
<a href="content.php?kategorie= 
<?php echo urlencode($lowercata); ?>">zur&uuml;ck</a> 
</div> 
</body> 
</html>
zur verdeutlichung:

tabelle eins (maincat) sind rubriken und dienen später (wenn's klappt) als navigation auf der linken seite der page.

stand categorie_web.php:
funktioniert momentan welch glück, doch wenn ich auf ein link klicke bekomme ich alles aus tabelle 2 lowercata angezeigt. darf es aber nicht, sondern nur für den link zugeordnete artikel.

klicke ich nun auf eine rubrik in der navigation, sollte sich im rechten teil der page, eine zweite rubrik öffnen. es dürfen nur kategorien für den entsprechnden link angezeigt werden. hierfür ist datei zwei für lowercata verantwortlich. (content.php) natürlich müssen die ensprechenden parameter zuvor von der datei kategorie_web.php übernommen werden.

ähnlich ist es mit der dritten datei content_detail.php, doch ist hier zu beachten, dass hier keine dritte rubrik vorhanden sein muss.

diesen teil könnte man nun für alle möglichen dinge verwenden wie z.b. einen shop. (vereinfacht)

also angenommen wir haben in der navigation (datei kategorie_web.php und tabelle maincat) eine rubrik bild und foto als link stehen sollte das so funktionieren:

Zitat:
-->Bild und Foto----------------------datei kategorie_web.php tab maincat
...........|Digitalkameras--------------datei content.php tab lowercata
...................|Kameras---------------datei conten_detail.php tab lowercatb
...................|Taschen
...................|CardReader
...................|Stromversorgung
...................|Software
...................|Zubehör
beispiel 2:

Zitat:
-->Arbeitsspeicher
............|DDR
............|DDR ECC
............|SDRAM
............|usw.
.................|dritte rubrik für Arbeitsspeicher nicht vorhanden
anderes beispiel ist mir nicht eingefallen.

das ganze ist ein, ich nenne es frontend und hat nur die aufgabe alles anzuzeigen nichts weiter.

hier die mysql tabellen:

Tabellenstruktur für Tabelle `maincat`

PHP-Code:
CREATE TABLE `maincat` ( 
`
IDint(11NOT NULL auto_increment
`
namevarchar(60NOT NULL default ''
PRIMARY KEY (`ID`) 
TYPE=MyISAM AUTO_INCREMENT=
Tabellenstruktur für Tabelle `lowercatb`

PHP-Code:
CREATE TABLE `lowercatb` ( 
`
IDint(11NOT NULL auto_increment
`
lowercatavarchar(50NOT NULL default ''
`
lowercatbvarchar(50NOT NULL default ''
PRIMARY KEY (`ID`), 
KEY `PRIMARY_KEY` (`ID`) 
TYPE=MyISAM AUTO_INCREMENT=
Tabellenstruktur für Tabelle `lowercata`

PHP-Code:
CREATE TABLE `lowercata` ( 
`
IDint(11NOT NULL auto_increment
`
maincatvarchar(5NOT NULL default ''
`
lowercatavarchar(50NOT NULL default ''
PRIMARY KEY (`ID`), 
KEY `maincat_id` (`ID`) 
TYPE=MyISAM AUTO_INCREMENT=
so, zum basteln hast du nun das gleiche wie ich sofern du magst.

hier noch die connect.php

PHP-Code:
<?PHP 
$server 
"localhost"/* Datenbankserver */ 
$dbname "test"/* Datenbankname */ 
$user "root"/* Datenbankuser */ 
$passwort ""/* Datenbankpasswort */ 
$verbindung=@mysql_pconnect($server$user$passwort); 
if(! 
$verbindung

die(
"Es konnte keine Verbindung zur Datenbank hergestellt werden!"); 

if (! 
mysql_select_db($dbname)) 

die(
"Das System kann sich nicht mit der Datenbank verbinden oder, 
sie ist nicht vorhanden!"
); 

?>
oh man, ist ne menge arbeit, ich hoffe mir kann da einer helfen. ich sitze manche tage bis 22 stunden und habe niemanden von den ich mir rat holen kann. achtung connect.php wurde mehrmals includiert (script 2+3) und dient nur zum aufrufen der dateien. (arbeite local und benötige fehlermeldung)

währe froh, wenn erst einmal script eins und zwei funktioniert.
__________________
simbo.de
Simbo 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
2 Tabellen vergleichen und Rest ausgeben Seabear Datenbanken 2 12.03.2008 05:54
Tabellen ausgeben spacedone PHP Tipps 2008 10 28.08.2007 15:32
tabellen namen ausgeben laßen PHP Tipps 2006 20 27.01.2006 23:23
6 Tabellen -> Übereinstimmungen ausgeben lassen? becks123 PHP-Fortgeschrittene 3 23.12.2005 08:57
Nicht alles aus 2 Tabellen ausgeben Datenbanken 3 26.08.2005 14:09
Daten aus 10 Tabellen sortiert ausgeben Sirke Datenbanken 3 02.08.2005 11:50
mehrere tabellen aus einer db ausgeben lassen möchtegernchegga PHP Tipps 2005-2 6 21.07.2005 20:29
Problem 1 - Ergebnis aus drei Tabellen ausgeben Datenbanken 4 15.07.2005 14:53
Ergebnisse in einer anderen Spalte ausgeben PHP Tipps 2005 10 10.02.2005 10:13
Link in Tabellen nixdorf PHP Tipps 2005 4 09.02.2005 18:18
abfrage als link ausgeben Datenbanken 10 21.11.2004 17:33
sql: aus 2 tabellen 1 ausgeben Datenbanken 2 28.09.2004 22:10
[Erledigt] tabellen verknuepfen und ergebnisse ueber link ausgeben PHP Tipps 2004 3 21.09.2004 06:04
Datenbank abfrage als Link ausgeben! stefan-miti PHP Tipps 2004 2 06.09.2004 23:12
alle tabellen in einer mysql db ausgeben PHP Tipps 2004 2 06.09.2004 19:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
a target=\_self\ aufrufen user und passwort, var $body = \\; was ist daskommentieren

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 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.