|
|
|
|
|
|
|||||||
|
|
LinkBack | Themen-Optionen | Thema bewerten |
|
|
#1 (permalink) |
|
Gast
Beiträge: n/a
|
<table border="1" cellspacing="2" cellpadding="0">
<tr> <td>an alle die sich angesprochen fühlen. ich möchte euch bitten einen dummen menschen zu helfen und keine sprüche wie z.b. lern ers mal dies und das, oder hier ist ein link und der hilft mir dann auch nicht weiter zu verschonen das ist lästig. ich sehe ein forum als sozial an und das erhoffe ich mir auch. ich suche niemanden der mir meine programmierung übernimmt, jedoch bin ich für fertige vorschläge zu den problemen sehr dankbar.</td> </tr> <tr> <td>doch nun zum thema:</td> </tr> <tr> <td>ich habe drei tabellen in einer datenbank </td> </tr> <tr> <td>erste tabelle maincat: <table border="1" cellspacing="2" cellpadding="0"> <tr> <td>ID</td> <td>name</td> </tr> <tr> <td>1</td> <td>artikel 1</td> </tr> <tr> <td>2</td> <td>artikel 2</td> </tr> </table> </td> </tr> <tr> <td>zweite tabelle lowercata: <table border="1" cellspacing="2" cellpadding="0"> <tr> <td>ID</td> <td>maincat</td> <td>lowercata</td> </tr> <tr> <td>1</td> <td>1</td> <td>rot</td> </tr> <tr> <td>2</td> <td>1</td> <td>gruen</td> </tr> <tr> <td>3</td> <td>2</td> <td>rund</td> </tr> <tr> <td>4</td> <td>2</td> <td>eckig</td> </tr> </table> </td> </tr> <tr> <td>dritte tabelle lowercatb: <table border="1" cellspacing="2" cellpadding="0"> <tr> <td>ID</td> <td>lowercata</td> <td>lowercatb</td> </tr> <tr> <td>1</td> <td>1</td> <td>mit pukten</td> </tr> <tr> <td>2</td> <td>1</td> <td>mit verlauf</td> </tr> <tr> <td>3</td> <td>nicht vorhanden</td> <td>nicht vorhanden</td> </tr> <tr> <td>4</td> <td>nicht vorhanden</td> <td>nicht vorhanden</td> </tr> </table> </td> </tr> <tr> <td>das ziel: alle tabellen nach ID verknüpfen tabelle 1 (maincat) dient als navigation und funzt auch teilweise hier der vereinfachte code: <?php </p> include ("connect.php"); </p> $res = mysql_query ("select * </p> from maincat </p> order by name"); </p> while($row = mysql_fetch_row($res)) </p> { </p> ?> </p> <a href="phpdatei.php?= </p> <?php echo urlencode($row[0]) ?>" target="_self"> </p> <?php echo $row[1] ?></a> </p> <?php </p> }</p> soll auch alles einfach bleiben.</p> </p> </td> </tr> <tr> <td>tabelle zwei soll bei klick auf den link die untere kategorie anzeigen und hier der falsche code: <?php </p> include ("connect.php"); </p> $res = mysql_query ("select ID, maincat, lowercata </p> from lowercata </p> where maincat"); </p> if (mysql_num_rows($res)==0) </p> { </p> echo "<h2>Keine Eintragungen vorhanden</h2>"; </p> } </p> else </p> { </p> $menge = mysql_num_rows($res); </p> while($row = mysql_fetch_row($res)) </p> { </p> ?> </p> <h4><?php echo $row[2] ?></h4> </p> <?php echo $row[3] ?> </p> <a href="content_detail.php?id=<?php echo urlencode($row[0]) ?> </p> &maincat=<?php echo urlencode($maincat) ?>">Weiterlesen</A></p> <br /><br /><hr /> </p> <?php </p> } </p> } </p> ?></p> leider bekomme ich alles angezeigt.</p> meine schwaeche liegt in der verbindung der tabellen und der richtige code für den link zur ausgabe in die nächste kategorie, sofern vorhanden.</p> </td> </tr> <tr> <td>tabelle drei ist natuerlich fuer die naechste kategorie und auch hier der absolut falsche code: <?php $id = $_GET["ID"]; </p> $lowercata = $_GET["lowercata"]; </p> include ("config.php"); </p> $res = mysql_query("select ID, maincat, lowercata </p> from lowercata </p> where ID"); </p> </p> $menge = mysql_num_rows($res); </p> while($row = mysql_fetch_row($res)) </p> { </p> ?> </p> <h2><?php echo $rows[0] ?></h2> </p> <h4><?php echo $rows[1] ?></h4> </p> <div><?php echo $row[2] ?> </p> <?php echo $rows[2] ?></div> </p> <?php </p> } </p> ?> </p> <br /> <br /> </p> <a href="content.php?kategorie= </p> <?php echo urlencode($lowercata); ?>">zur&uuml;ck</a></p> </p> bekomme zwar keine fehler aber dafuer nicht das erwuenschte ergebnis.</p> </td> </tr> <tr> <td>und so soll es funzen: 1. schritt - ich klicke in tabelle 1 auf artikel1 </p> 2. schritt - zu artikel1 muss jetzt rot und gruen erscheinen</p> 3. schritt - zu artikel1 rot und gruen muss nun mit punkten und mit verlauf erscheinen</p> schematisch dargestellt:</p> artikel1 | --rot--gruen |--mit punkten-und-mit verlauf</p> artikel2 geht nur bis zur kategorie 2 </p> </td> </tr> <tr> <td>leider bin ich kein theoretiker und lerne nur an praktischen sowie visuellen beispielen und waere fuer eure hilfe dankbar. bitte schreibt nicht alles um, sonst fange ich wieder von vorne an. der code soll so einfach wie moeglich sein, somit kann ich das ganze besser verarbeiten und spaeter auch vertiefen. ich hoffe hier kann man html eingeben, ansonsten hab ich pech gehabt</td> </tr> </table> |
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) | |||||||
|
Gast
Beiträge: n/a
|
Zitat:
Aber weil ich nicht so bin: 1.Fehler: wenn ich deinen Zitat:
Zitat:
4.Fehler: bin grad draufgekommen, das du die datei connect.php zweimal in dem selben code includest Jetzt kommt ein Absatz denn kann und will ich nicht entziffern. Zitat:
Hast du da überhaupt ein system drinnen So ne halbe stunde ich gebs auf: Dein PHP code müsste in etwa so ausschauen: Zitat:
Ich glaube das woltest du uns sagen: Zitat:
include ("connect.php"); $res = mysql_query ("select * from maincat order by name"); while($row = mysql_fetch_row($res)) { ?> <?php echo $row[1] ?> <?php } <?php include ("connect.php"); $res = mysql_query ("select ID, maincat, lowercata from lowercata where maincat"); if (mysql_num_rows($res)==0) { echo "<h2>Keine Eintragungen vorhanden</h2>"; } else { $menge = mysql_num_rows($res); while($row = mysql_fetch_row($res)) { ?> <h4><?php echo $row[2] ?></h4><?php echo $row[3] ?>&maincat=<?php echo urlencode($maincat) ?>">Weiterlesen <?php } } ?> alles angezeigt <?php $id = $_GET["ID"]; $lowercata = $_GET["lowercata"]; include ("config.php"); $res = mysql_query("select ID, maincat, lowercata from lowercata where ID"); $menge = mysql_num_rows($res); while($row = mysql_fetch_row($res)) { ?> <h2><?php echo $rows[0] ?></h2> <h4><?php echo $rows[1] ?></h4> <div><?php echo $row[2] ?> <?php echo $rows[2] ?></div> <?php } ?> Zurück Mal so nebenbei, ich hab jetz sicher keine Klammern gelöscht, kann es sein, das du in deinem Caos ein paar von diesen vergessen hast } Ich weis ja nicht was in der connect php steht aber hier mal ein kleiner auszug aus self.php: Mit mysql_db_query() stellt man eine Anfrage (Anfrage) an eine Datenbank. Diese Funktion ist fast identisch mit der Funktion mysql_query(), mit der Ausnahme, dass Sie bei mysql_db_query() die Datenbank direkt angeben (Datenbank) und somit vorher nicht mit mysql_select_db() eine Datenbank angeben müssen. Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können Sie eine explizite Verbindungskennung angeben. Falls diese fehlt, so wird auf die aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, so wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) zu erstellen. Im Erfolgsfall gibt diese Funktion true, sonst false zurück. $res = mysql_query ("select ID, maincat, lowercata from lowercata where maincat"); ====falsch $res = mysql_db_query ("deine datenbank", SELECT * FROM maincat WHERE lowercata = 'irgendwas' order by ID");===denk ich richtig Ich kenn mich mit SQL Datenbanken nicht so aus, weil cih selber fast nur auf txt-Dateien programmiere, aber gerade solche Tutorials und ein gut leserlicher Quelltext sind hilfreich, um etwas zu lernen, da kannst dein Konzept learning by doing übern haufen schmeisen, das alleine reicht nicht. Ich korrigiere mich von oben, du hast doch keine klammern vergessen. Der Code war noch zu unleserlich. Noch etwas, wenn mein Quelltext schon unleserlich ist, dann bepflastere ihn wenigstens mit Kommentaren: Zitat:
mfg |
|||||||
|
|
#3 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 21.07.2003
Beiträge: 338
PHP-Kenntnisse: Fortgeschritten ![]() |
@mastervision: poste bitte deinen code nochmal... ich weiß nicht was du gemacht hast aber irgendwie hats da was zerfetzt
wenns wieder nicht funktioniert => edit => nochmal posten... sonst ist das echt zu anstrengend hier... ...
__________________
simbo.de |
|
|
|
|
#4 (permalink) |
|
Gast
Beiträge: n/a
|
Im großen Ganzen darf ich mich meinem "Vorredner" anschliessen.
Ein paar Dinge sind mir dennoch auf gefallen: include("connect.php") muss nur einmal inkludiert werden. Gehe ich vom Inhalt dieser Datei aus, DARF es sogar nur einmal inkludiert werden. also #2 raus und bei #1 include_once statt include nehmen, sicher ist sicher, falls Du diese Datei auch irgendwo mehrfach eingebunden hast. Hinter die mysql_query-Abfragen würde ich noch ein or die("Abfragefehler: ".mysql_error()); packen, dann weist Du wenigstens, WARUM es nicht klappt, wenn es nicht klappt. Im Absatz if (mysql_num_rows($res)==0) { echo "<h2>Keine Eintragungen vorhanden</h2>"; } else { $menge = mysql_num_rows($res); } fragst Du zweimal mysql_num_rows($res) ab. Einfacher wäre hier, wenn Du zuerst $menge = mysql_num_rows($res); abfragst und dann if ($menge==0) verwendest. select ID, maincat, lowercata from lowercata where ID wählt IMMER alle Datensätze aus. Da kannst Du Dir das WHERE ID auch schenken. Du meinst sicher ...WHERE ID=[wert] Das gilt analog für die anderen Abfragen. Dann kannst Du anstelle von <a href="phpdatei.php?= <?php echo urlencode($row[0]) ?>" target="_self"> <?php echo $row[1] ?></a> vielleicht einfacher sowas hier schreiben: echo "<a href=\"phpdatei.php?=".urlencode($row[0])."\" target=\"_self\">".$row[1]."</a>"; oder auch echo "".$row[1].""; Ich bevorzuge die erste Schreibweise wegen der HTML-Konformität, obgleich beides von PHP akzeptiert wird. Auch dieser Vorschlag gilt analog für alle anderen HTML/PHP-Mixe. Es gibt zudem (wie in CGI) die Möglichkeit, ganze HTML-Segmente auszugeben: echo<<.... ausgabe; PHP-Variablen werden hier einfach im Kontext von PHP ersetzt durch ihren Wert. Hinweis zu echo<<< - Es funktioniert nicht für Funktionen wie z.B. urlencode(); nur Variablen - Wichtig ist dabei, daß sowohl das echo<<<ausgabe (KEIN SEMIKOLON ";")als auch das ausgabe; (SEMIKOLON MUSS SEIN!) am Zeilenanfang stehen. - Einrücken ist hier nicht erlaubt. - Zwischen den beiden Befehlen kannst Du einrücken wie Du magst. Abschliessend: Was ist "funzt"? |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ä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 | |
| tabellen verknuepfen und ergebnisse ueber link ausgeben | PHP Tipps 2004 | 1 | 21.09.2004 21:24 | |
| 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 | |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.