Forenindex » Programmierung/Entwicklung » PHP und MySQL » Datenbank Variable in Link ausgeben

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

10. Mär 2005, 23:39
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Hallo,
ich habe eine Tabelle gewerbe angelegt.
Die einzelnen Abfragen klappen auch problemlos.
Nun möchte ich aber:

Branche A
Branche B
Branche C

verlinken zu den dazugehörigen Firmen:

Firmen A ...und dort komme ich dann zu den einzelnen Firmen (Link)
Firnen B
Firmen C

wie baue ich das am besten? Mit mehreren Tabellen?

Vielen Dank für eure Hilfe!
Käferli

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

11. Mär 2005, 00:31
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
hallo Käferli, welcome !

wie sieht die tabelle denn aus . . . ? eine sollte reichen.

nehme an du hast die felder firma_name, firma_branche, und und und
alles wird schon mal ausgewählt, (select * from) - $firma_branche ist somit definiert

der link auf eine neue seite z.b. : abfrage.php?firma_branche=$firma-branche

im script abfrage.php holst du $firma_brache zurück und machst

eine query select firma_name (( und alle felder die du willst )) from tabelle WHERE firma_branche='$firma_branche'

stichwort google : variablen via URL $_GET
aber auch $_POST $_REQUEST

gruss
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 01:20
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Hallo jurg,
erstmal vielen Dank für die schnelle Antwort.
Für mich ist vorallem die Frage, wie ich sinnvoll die Abfrage für Branchen selektiere...

Beispiel:

Bäckereien (wenn ich darauf klicke kommen alle Bäckereien)
Fleischerein (wenn ich darauf klicke kommen alle Fleischerein)
Druckereien analog

ich komme einfach auf keinen effektiven Lösungsansatz (bezügl. Abfrage...)

Die Struktur der Tabelle sieht so aus:

id Branche Firma Str PLZ Ort Tel EMail Homepage Dienstl.

DANKE und VIELE GRÜßE
KÄFERLI

Datenbank Variable in Link ausgeben

Foggy
Beiträge gesamt: 48

11. Mär 2005, 01:39
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
"SELECT $sql_spalten FROM table WHERE branche LIKE '$branche'"
Dieser Query holt dir alle Datensätze wo die Spalte branche den selben Inhalt hat wie die Variable Branche.

Warum soll ich nicht SELECT * schreiben... => http://www.php-faq.de/q/q-sql-select.html
---
http://www.iphosting.ch/...hp?content=schnipsel --> PHP Code Schnipsel
http://www.iphosting.ch/forum --> EIN Schweizer PHP Forum

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

11. Mär 2005, 01:39
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
hallo,

wie sieht denn die architektur der site aus ?

du willst also ein seite, wo nur die brachen aufgeführt werden ?
wenn ja, mach ein "select branche from tabelle group by branche"
das listest dir alle branchen aus. mach einen link der der die variable $branche übergibt, damit die neue seite weiss ob es sich um den bäcker oder fischer handelt... dafür eben $branche

somit komme ich auf mein erstes posting zurück :
der link auf eine neue seite z.b. : abfrage.php?branche=$branche

im script abfrage.php holst du $brache zurück und machst

eine query select firma (( und alle felder die du willst )) from tabelle WHERE branche='$branche'

so sehe ich das, oder hab ich's noch nicht gecheckt ;-)

gruss
jurg

________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 01:50
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Hi jurg,
ich denke, du hast voll den Durchblick, nur mir fehlt er :-)

Im Feld "Branche" stehen eben alle (Bäcker, Fleischer usw.) drin, und dass ist sicher falsch..., denn nach deiner Idee werden diese dort selectiert und mit "group by branche" zusammengefasst, dem ist leider nicht so...

Seufz Käferli

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

11. Mär 2005, 02:18
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
salut,

nein, das ist OK - wobei es führen viele wege nach rom.

eben mit "group by branche" wird die branche nur einmal aufgeführt, auch wenns x bäcker in der DB sind.

aber dann musst du eine neue seite machen (einen link drauf hinter/auf jeder branche) und abfragen, welche firmen zu der branche bäckerei gehören. (siehe alte postings.)
und diese ausgeben. . .

bonne nuit
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net

(Dieser Beitrag wurde von jrandi am 11. Mär 2005, 02:19 geändert)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 02:29
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
$sql = "SELECT DISTINCT Branche FROM gewerbe
...so habe ich es gelöst, dass jede Branche nur 1x ausgegeben wird...

aber bei der weiteren Vorgehensweise klemmts bei mir irgendwie immer noch...
Das alle Branchen als Link erscheinen, habe ich so gelöst:

echo "<a href='showfirmen.php?gewerbe=$branche '</a><br>";

aber wie krieg ich hinter diese vaiable unterschiedliche links
(auch wieder variable)???

Danke für deine Geduld
Käferli

Datenbank Variable in Link ausgeben

Kusi
Beiträge gesamt: 1398

11. Mär 2005, 08:19
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Hallo
Pass auf, da ist noch ein Fehler drin:
"<a href='showfirmen.php?gewerbe=$branche '</a><br>";
Der <a> Tag ist noch nicht geschlossen. Müsste also sein:
"<a href='showfirmen.php?gewerbe=$branche '>".$branche."</a><br>";
Damit alle erscheinen, musst du diese nun in einer Schleife ausgeben:
while($row = mysql_fetch_array($resultatabfrage))
{
$branche = $row['branche'];
echo "<a href='showfirmen.php?gewerbe=$branche '>".$branche."</a><br>";
}

Gruss
Kusi

Helfen Sie mit, damit HilfDirSelbst.ch weiterhin helfen kann.
http://www.hilfdirselbst.ch/info/
__________________________
http://www.k-k.ch

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 08:47
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Guten morgen,
danke für den tipp.
http://www.grosspoesna.de/gewerbe/branche.php

...hab mal zum Test was hochgeladen.
Aber wenn man jetzt auf die Branchen klickt, sollten eigentlich nur die betreffenden Firmen, und das krieg ich nicht hin...
dann will ich das fortführen, man klickt auf die Firma und kriegt
weiter Detailinfos (Adresse und Dienstleistung)

Gibts da einen Gedankengang, den ich umsetzen könnte?
Zur Not könnte ich ja Datenbank/Tabelle neu "stricken".

DANKE KÄFERLI

Datenbank Variable in Link ausgeben

oesi50
  
Beiträge gesamt: 2315

11. Mär 2005, 14:29
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
kann man mal den Quellcode sehen?


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 14:35
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Hallo,
aber gern:

quelltext von der dei branchen.php, die du unter:
http://www.grosspoesna.de/gewerbe/branche.php angezeigt bekommst:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>branchen</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="gewerbe.css">
</head>
<body bgcolor="#00CC33">
<h3><font color="white">BRANCHEN im Überblick</font></h3>
<div>
<?php
@mysql_connect("localhost", "", "") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("branchenbuch") or die("Datenbankzugriff gescheitert!");
$sql = "SELECT DISTINCT Branche FROM gewerbe ";
$result = mysql_query($sql);
$zeilen = mysql_num_rows($result);
while ($row = mysql_fetch_assoc($result)) {
echo "<a href='showfirmen.php?gewerbe=$branche '</a><br>";


// foreach Anfang:
foreach ($row as $key => $value) {
echo "<td>$value&nbsp;</td>";
} // foreach Ende
echo "</tr>"; // Zeile schließen
} // while Ende
echo "</table>\n"; // Tabelle schließen
mysql_close();

?>
</div>
<p></p>
</body>
</html>


VIELEN DANK
KÄFERLI

Datenbank Variable in Link ausgeben

oesi50
  
Beiträge gesamt: 2315

11. Mär 2005, 14:53
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
nimm mal das:

while ($row = mysql_fetch_assoc($result)) {
foreach ($row as $key => $value) {
echo "<td><a href='showfirmen.php?gewerbe=$value'>$value</a>&nbsp;</td>";
} // foreach Ende
echo "</tr>"; // Zeile schließen
} // while Ende

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 15:01
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
Hi Oesi,

was bewirkt das? Hab es augetauscht, aber es bleibt alles so -
oder muss ich noch was modifizieren?

BESTEN DANK
KÄFERLI

Datenbank Variable in Link ausgeben

oesi50
  
Beiträge gesamt: 2315

11. Mär 2005, 15:12
Bewertung:

gelesen: 17380

Beitrag als Lesezeichen
nö, nichts ist getauscht, jedenfalls nicht hier:

http://www.grosspoesna.de/gewerbe/branche.php

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 15:18
Bewertung:

gelesen: 5863

Beitrag als Lesezeichen
sorry,
aber jetzt hat sich das eher verschlechtert...
oder was hab ich falschgemacht?!

DANKE KÄFERLI

Datenbank Variable in Link ausgeben

oesi50
  
Beiträge gesamt: 2315

11. Mär 2005, 15:28
Bewertung:

gelesen: 5863

Beitrag als Lesezeichen
na mei Säckl,
du weeßt och nischt.

Mach ma nur ä baar <br> rein

echo "<a href='showfirmen.php?gewerbe=$value'>$value</a>&nbsp;<br>";

unn fertsch.

Grüße Oesi
sch weeß, dassch nischt weeß...

(Dieser Beitrag wurde von oesi50 am 11. Mär 2005, 15:29 geändert)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 18:09
Bewertung:

gelesen: 5863

Beitrag als Lesezeichen
Hi Oesi

sorry, aber dass weeß ich schon, war ja in meiner version och so ;-)
aber was bewirkt das nu anderes - hilf mir mal auf die Sprünge ;-),
ich bin nämlich lernfähig...

Viele Grüße
KÄFERLI

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

11. Mär 2005, 18:13
Bewertung:

gelesen: 5863

Beitrag als Lesezeichen
hallo,

wo liegt denn jetzt noch der hacken ? sieht doch soweit ganz gut aus (wenn wir mal das graphische ausklammern ;-)

gruss
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 18:24
Bewertung:

gelesen: 5863

Beitrag als Lesezeichen
Hi jurg,

hab es wieder gegen meinen quelltext ausgetauscht.
Ja, mein Problem ist eben, das alle Branchen als Link erscheinen:

echo "<a href='showfirmen.php?gewerbe=$branche '</a><br>";

aber wie krieg ich hinter diese vaiable unterschiedliche links
(auch wieder variable)???

...ich weiß, ich bin einfach zu blöd. Im Moment ist es ja immer die gleiche Verlinkung, sind ja erstmal nur Beispiele...

DANKE KÄFERLI

Datenbank Variable in Link ausgeben

oesi50
  
Beiträge gesamt: 2315

11. Mär 2005, 19:05
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
jetzt versteh ich gar nichts mehr.
Ich habe dir doch schon eine Variante mit Links gegeben. was war denn daran nicht richtig?


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 19:43
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
Hallo oesi

Hab nochmal deinen änderungsvorschlag hochgeladen.
Ich glaub wir haben ein kleines kommunikat. Problem,
was mir echt leid tut - sorry!

Ich habe ja erstmal nur 3 Beispielfirmen drin.
Wenn ich auf bäckereien klicken, dürften nur die beiden kommen:

Siebrecht GmbH Großpösna
Madry Großpösna 034297 - 41251

...und wenn ich auf Ver- und Entsorgung klicke,
dürfte nur Parentin GmbH Großpösna 034297 - 6 10 kommen,
und das umzusetzen, dort klemmts bei mir.

Und dann will ich im nächsten Ansatz die Firmen anklickbar machen,
wo es zu den einzelnen Detailinfos geht...

Und dort komme ich irgendwie nicht weiter, sorry, falls ich mich nicht verständlich genug ausgedrückt habe...

DANKE KÄFERLI

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

11. Mär 2005, 20:08
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
tja, packen wirs noch mal an, zu dritt werden wir das doch regeln können! nicht.

aber um den einstieg wieder zu finden, poste doch mal alle benötigten scripts von a bis z, welche aktuell online sind.

tabelle hast du nach wie vor eine einzige, wie damals beschrieben ?

merci et à plus
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net

(Dieser Beitrag wurde von jrandi am 11. Mär 2005, 20:09 geändert)

Datenbank Variable in Link ausgeben

Käferli
Beiträge gesamt: 67

11. Mär 2005, 20:29
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
Hallo jurg,

erstmal danke für deine Ausdauer. Also nochmal langsam:
Ich habe eine Tabelle mit folgender Struktur:

id Branche Firma Str PLZ Ort Tel EMail Homepage Dienstl.

und möchte ungefähr so die darstellung umsetzen:

siehe: http://www.willgmbh.de/ ....dann auf Firmen klicken
(der Baum muss aber nicht ausklappbar sein), von den Branchen will ich das so einrichten, das man per Link zu den firmen kommt. Und von dort aus (auch über Link) zu den Detailinfos (Str PLZ Ort Tel EMail Homepage Dienstl.) gelangt.

Hier den Quelltext der branchen.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>branchen</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="gewerbe.css">
</head>
<body bgcolor="#00CC33">
<h3><font color="white">BRANCHEN im Überblick</font></h3>
<div>
<?php
@mysql_connect("localhost", "...", "...") or die("Verbindung zu MySQL gescheitert!");
@mysql_select_db("branchenbuch") or die("Datenbankzugriff gescheitert!");
$sql = "SELECT DISTINCT Branche FROM gewerbe ";
$result = mysql_query($sql);
$zeilen = mysql_num_rows($result);
while ($row = mysql_fetch_assoc($result)) {
echo "<a href='showfirmen.php?gewerbe=$branche '</a><br>";


// foreach Anfang:
foreach ($row as $key => $value) {
echo "<td>$value&nbsp;</td>";
} // foreach Ende
echo "</tr>"; // Zeile schließen
} // while Ende
echo "</table>\n"; // Tabelle schließen
mysql_close();

?>
</div>
<p></p>
</body>
</html>

----------------------------------------------------------------------

zu sehen unter: http://www.grosspoesna.de/gewerbe/branche.php


Ich hoffe ich hab jetzt nichts vergessen ;-)

Großes Dankeschön für deine bzw. eure Hilfe!

Käferli

Datenbank Variable in Link ausgeben

oesi50
  
Beiträge gesamt: 2315

11. Mär 2005, 21:50
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
in deiner 'showfirmen.php'

fehlt irgend sowas wie:

SELECT ... FROM ... WHERE Branche='$gewerbe'";


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

11. Mär 2005, 22:13
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
hallo, da bin ich wieder, musste mal etwas essen ;-)

also in branchen.php. . . so auf den ersten blick sieht dies gut aus. aber mit deinem html ist nicht alles OK. . .

>> echo "<a href='showfirmen.php?gewerbe=$branche '</a><br>";

müsste in etwas so aussehen :
echo "<a href='showfirmen.php?gewerbe=$branche'>$branche</a><br>";

dann bei showfirmen.php

wie Oesi sagt, da musst du zuerst mal alle firmen der betreffenden branche auslesen

und diese wieder ausgeben in einem link eingebettet, der so aussehen sollte :

echo "<a href='firmen_detail.php?firma=$id'>detail</a>

in "firmen_detail.php" aufs neue ein sql abfrage
SELECT * from tabelle WHERE firma='$id'

immer auch daran denken, dass du die variablen, welche via URL übergeben werden mit $_GET zurückzuholen, sofern Register_Globals = off (ab php4.2. in der regel)

ist das ganze etwas klarer ?

gruss
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net

(Dieser Beitrag wurde von jrandi am 11. Mär 2005, 22:15 geändert)

Datenbank Variable in Link ausgeben

Kusi
Beiträge gesamt: 1398

11. Mär 2005, 22:39
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
Hallo
Was heisst den hier unterschiedliche Links?
Dass zu jeder Bäckerei ein eigener Link führt oder anders farbig?
Sonst musst du zur Bäckerei jeweils auch den Link in ein Feld speichern. Dann die Abfrage "select branche, link from ..." Also beide Werte auslesen und dann entsprechend zuweisen.
und dann so ausgeben:

while($row=mysql_fetch_array($abfragerslutat))
{
echo "<a href='".$row['link']."'>".$row['branche']."</a><br>\n";
}

Gruss
Kusi

Helfen Sie mit, damit HilfDirSelbst.ch weiterhin helfen kann.
http://www.hilfdirselbst.ch/info/
__________________________
http://www.k-k.ch

(Dieser Beitrag wurde von Kusi am 11. Mär 2005, 22:44 geändert)

Datenbank Variable in Link ausgeben

jrandi
Beiträge gesamt: 794

12. Mär 2005, 00:44
Bewertung:

gelesen: 5869

Beitrag als Lesezeichen
langsam wird mir das etwas zu theoretisch und zudem programmiere ich etwas anders als in diesem posting jeweils gecodet wurde. auch wenn dies sicher auch absolut OK ist. wie gesagt, viele wege führen nach Rom.

na ja, habe gerade meinen guten tag und wärend du im ausgang warst, habe ich das ganze mal konkret nachvollzogen ;-)

siehe http://www.randj.net/v3/test/branchen.php

habe eine DB gemäss Deinen angaben erstellt und 3 bäcker sowie 2 webpublisher reingeknallt.

weiter habe ich 3 files erstellt: (jedes enthält nicht mehr als 30 zeilen)
- branchen.php
- showfirmen.php
- detail_firma.php
und das file create DB, aber das ist ja bereits OK bei dir. die DB steht.

teste das ganze mal und wenn es das ist, was du brauchst, so sag mir bescheid. wir können dann darüber verhandeln, wieviele Euro du mir rüberschieben willst für die scripts ;-)

nein, scherz beiseite, wie gesagt, habe meinen guten tag ;-) gib mir deine mail-adresse durch und ich sende dir diese scripts. du musst mir einfach versprechen, mich anzurufen, wenn du mal in Lausanne bist und mich zu einem grossen Bier einladen ! alles klar ?

gruss
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net