![]() |
|
|
Themen-Optionen |
|
|
#1
|
|
Ach Jungs!?!
![]() ![]() Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
sql-abfrage abändernhi leute,
ich weiss einfach nicht weiter... ich habe eine seite die daten aus einer datenbank ausliesst -> daraus entsteht jeweils eine URL pro zeile in der datenbank. nun möchte ich das wenn man auf einen solchen url klickt, sich sozusagen die "Detail ansicht" des urls öffnet, diese Detaildaten sind in den selben zeilen in der datenbank gespeichert wie die url angibt (logischerweise). nur auf der einen seite soll es alle daten aus einer zeile ausgeben (detail-ansicht) und auf der anderen seite alle zeilen aber nur gewisse spalten. könnt ihr mir weiterhelfen? auf bitten versuche ich es euch auch nochmals anders zu erklären, aber es ist nicht ganz so einfach.... vielen dank!! |
|
|
|
#2
|
|
Newbie
![]() Registriert seit: 29.03.2005
Beiträge: 5
|
also ein wenig kompliziert ist es schon.
aber wenn du doch alle daten hast dann musst du diese doch nur aus der url extrahieren oder nochmal eine abfrage auf diesen einen record machen. oder sehe ich das falsch? vielleicht kannst du mal ein muster-datensatz hier einstellen und dann kann man dir bestimmt besser helfen. gruß |
|
|
|
#3
|
|
Ach Jungs!?!
![]() ![]() Themenstarter
Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
einen datensatz kann ich leider nicht bieten, da ich ihn noch nicht ansatzweise fertig habe...
das einzige was ich noch bieten kann ist: Code:
$result = mysql_query("SELECT details,titel,bild,dokm FROM muster ORDER BY datum");
und so in der url-ansicht Code:
$result = mysql_query("SELECT titel,minibild FROM muster ORDER BY datum");
details, titel, bild, minibild, dokm in der tabelle : muster und da ich keine lust habe, alle details-seiten einzeln zu erstellen (als html oder so) wollte ich das mit einer datenbank lösen. nur eben: es soll eine übersicht über alle detailseiten geben (mit miniaturbild > minibild) die sich selbst auch aus der datenbank ausliesst, damit ich diese nicht jedesmal nachführen muss.... und dann die detailseiten. > klick auf eine url in der übersicht, öffnet es die detailseite dazu... .... welche sich auch aus der datenbank ausliesst.. das ganze sollte dann ähnlich wie diese seite sein: http://hydremag.ch/prev2/prod.php nur hier ist eben jede seite einzeln erstellt, auf was ich nicht wirklich bock habe, da ich etwa 4 mal so viele daten habe. vielleicht sollte ich noch erwähnen: ich bin nicht so gut in MySQL-Datenbanken. Ich verstehe nur das prinzip und wie man sie ausliesst (und dort neue tabellen und spalten / zeilen erstellt) |
|
|
|
#4
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
|
Die Datenbank ist ja nur der persistente Speicher. Das Erzeugen des HTML-Dokumentes mit der Übersicht musst du mit einer serverseitigen Sprache wie PHP erledigen. Falls du keine Ahnung von PHP o.ä. hast (so lese ich es aus deinen Posts), gibt es wie immer zwei Möglichkeiten:
Falls du dann konkrete Fragen zur Umsetzung hast, wirst du hier im Forum sehr wahrscheinlich Hilfe finden. Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
#5
|
|
Ach Jungs!?!
![]() ![]() Themenstarter
Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
hi duddle,
ich bin schon sehr viel weiter mit php als in meinen letzten posts... das ganze benötigt zeit und ich bin keine die alles in 7 tagen lernen kann... aber so langsam fang ich an zu verstehen, und die einzelnen skripts werden mir logisch. nur die fachbegriffe dafür lerne ich nicht wirklich....für mich zählt in erster linie die funktion und das ich es verstehe... das war eine kronkrete frage zur umsetzung...das ich das ganze mit php erledigen muss ist mir klar. ich weiss nur nicht wie .... deshalb gibt es doch dieses forum, um hilfe dabei zu erhalten, oder? ... ich bin nur mit mysql noch nicht ganz so weit, aber das geht auch nicht mehr so lange...hoff ich |
|
|
|
#6
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
|
Was genau ist denn die Hürde?
Ganz simpel ausgedrückt willst du folgendes: klickt der Nutzer auf ein Produkt, öffnet sich eine Detailseite für dieses Produkt. Zur Umsetzung brauchst du also mindestens Fälle, die Übersichts- und die Detailseite. Für die Übersichtsseite holst du alle Produkte aus der Datenbank und erzeugst für jedes Produkt das notwendige HTML. Für die Detailseite holst du dir die Daten für das ausgewählte Produkt, identifiziert durch einen URL-Parameter o.ä., und gibst sie aus. Welchen Schritt davon kannst du nicht umsetzen? Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
#7
|
|
Ach Jungs!?!
![]() ![]() Themenstarter
Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
die detailseite.. die identifizierung & erzeugung davon...
|
|
|
|
#8
|
|
*moep*
![]() Registriert seit: 25.08.2009
Ort: NRW
Beiträge: 50
Kamera: Canon EOS 450 DVerwendet: Photoshop CS |
Hallo,
um bei deinem Beispiel zu bleiben: Hier wird die Detailseite mit http://hydremag.ch/prev2/prod.php?go=hcm aufgerufen. Das PHP-Script der Detailseite ließt den Parameter "go" aus und weiß, dass es die Detaildaten zum Produkt "hcm" anzeigen muss. Es gibt nur eine Detailseite (quasi eine leere Schablone), die mit den Daten aus der Datenbank gefüllt wird. |
|
|
|
#9
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
|
Um das gewünschte Produkt auf der Detailseite zu kennen, musst du natürlich die Auswahl des Nutzers irgendwie an sie übergeben. Das kannst du mit einem Formular oder mit URL-Parametern machen. Siehe http://www.schattenbaum.net/php/variable2.php
Welche Information du dabei übergibst obliegt deiner Entscheidung. Offensichtlich sollte es etwas sein, dass das Produkt eindeutig identifiziert. In der Regel wird das per ID gemacht. Deine Datenbanktabelle hat sowas sicher pro Produkt, ansonsten musst du den Primärschlüssel herausfinden. Sobald du dann diese Information auf der Detailseite hast, fragst du die Datenbank nach exakt diesem Produkt und gibst dessen Daten aus. Siehe http://www.schattenbaum.net/php/abfrage2.php Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
#10
|
|
Ach Jungs!?!
![]() ![]() Themenstarter
Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
ja das weiss ich, aber wie kann ich das realisieren ohne das ich ihm die vorgabe machen muss?
denn wenn ich nun ein neues produkt anlegen würde, in diesem beispiel.. dann wäre in dieser schablonen-datei keine case = neuesgerät vorhanden..... das ist mein problem bei der detail-seite.... |
|
|
|
#11
|
|
Newbie
![]() Registriert seit: 01.06.2007
Beiträge: 14
|
Nicht zu vergessen das in der Datenabfrage zur Detailseite ein WHERE title='".$produktitel."' fehlt. Woher soll sonst die Datenbank wissen welcher Artikel den gemeint ist. Dabei ist zu beachten das die Spalte "title" als Unique deklariert ist um doppelte Namensgebungen zu vermeiden oder man arbeitet gleich mit ID's
Geändert von blastermaster (04.06.2012 um 17:01 Uhr). Grund: da waren ein paar schneller |
|
|
|
#12
|
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
|
Zitat:
Stell dir vor, du hast ein Telefon und eine Aufgabe: reicht dir jemand einen Zettel mit einer Nummer, dann rufe diese Nummer an und sag "Hallo, Welt". Deine Aufgabe ist nicht "rufe 552 an wenn 552 auf dem Zettel steht, rufe 553 and wenn 553 auf dem Zettel steht, etc.", sondern "rufe die Nummer an, die auf dem Zettel steht." Egal welche Nummer nun reingereicht wird funktioniert dieser Ablauf. Wenn die Nummer nicht belegt ist oder anderweitig inkorrekt ist, passiert eben nichts. Der Code deiner Detailseite sagt also nicht "wenn das Produkt 7 gewünscht wird, gib die Daten von Produkt 7 aus", sondern "wenn ein Produkt mit einer Produktnummer gewünscht wird, dann frag die Datenbank nach exakt dieser Produktnummer." Dann funktioniert dieser Ablauf für jede Nummer, die reingereicht wird. Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
|
#13
|
|
Ach Jungs!?!
![]() ![]() Themenstarter
Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
danke für die gute erklärung duddle! was ich aber eher meinte war folgendes:
in dieser schablonen-datei habe ich dann folgendes skript: Code:
<?php
if (isset($_GET['go']))
{
switch($_GET['go'])
{
case 'detail1': include('detailseite-1.php');
break;
case 'detail2': include('detailseite-2.php');
break;
default: include('uebersicht.php');
}
}
else
{
include('uebersicht.php');
}
?>
dieses ?go=beispiel ... bestimmt man ja die links im obrigen skript, wohin es gehen soll, wenn es dieses "go=beispiel" hat wenn ich es so mache: Code:
$result = mysql_query("SELECT details,titel,bild FROM muster1 WHERE id='$_GET[id]'");
auch wenn ich den link "seite1.php?id=ID-DES-EINTRAGES lade. PS: ich teste gerade mit meinem beispiel das ich euch mal gepostet habe, da es dort bereits datenbanken & dieses variablen-ansprech-skript gibt nur eben nicht in kombination Geändert von elyion_g2 (05.06.2012 um 07:15 Uhr). |
|
|
|
#14
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
|
Entweder reden wir aneinander vorbei, oder einer von uns beiden ist etwas verwirrt.
Ich versuche mal ein Beispiel in Code auszudrücken: foo.php: PHP-Code:
PHP-Code:
Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
#15
|
|
Ach Jungs!?!
![]() ![]() Themenstarter
Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100DVerwendet: Adobe CS6, Production Premium Suite |
ich glaube ein wenig von beidem...
hier habe ich dir mal eine kleine grafik gemacht... ![]() ich möchte nämlich das sich beide seiten aus der datenbank auslesen. übersicht + detail - seite... die übersicht-seite generiert die urls aus den IDS / Titel der einträge in der db und mit einem klick darauf öffnet es die detail-seite die aus der selben zeile wie der übersichts-link erzeugt wird. dein skript ist so das die übersichts-seite fix ist, sprich, nicht von der datenbank genommen wird. es ist möglich das jetzt meine überlegungen nicht stimmen, aber wenn ich das so machen würde, müsste ich jeden link zu jedem produkt eigenhändig einfügen. ich kann meine daten nicht nummerieren, da ich 6 kategorien haben werde, für die ich einzelne tabellen erstellen werde, weil keine mit der anderen was zu tun hat. ich danke dir / euch, für eure hilfe & geduld mit mir |
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
-
Reklame
-
-
- Schriftart "Entypo" lässt sich nicht anzeigen
- CS6 Extended 64bit - Zusatzmodule können nicht geladen werden
- PHP-Variable in Javascript
- Rahmen kann nicht frei transformiert werden
- Digital Painting ohne Grafiktablett
- Sketchbook Pro
- PSD-Datei in ACR bearbeiten
- Logodesign nach vielen Jahren
- Wie geht das???
- VHS > digitalisiert - Restaurieren, wer kann helfen? :)
- Meinungen von euch zum 23. Foto-Kreativcontest
- web-clip / Format
- Wer wird Webinär?
- einzelne Klone unterschiedlich deformieren
- Nik-Complete-Collection kostenlos...
- Hintergrund einfügen
- Cache ohne externe Installation gesucht
- Kaufempfehlung: Monitor für Bildbearbeitung/DTP
- Firepro oder Quadro
- Traum Silhoueten
-
-
Aktuelles Commag
Anzeige
-
Anzeige











Social Media