Antworten auf deine Fragen:
Neues Thema erstellen

sql-abfrage abändern

elyion_g2

Ach Jungs!?!

hi 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!!
 

mgubler

Noch nicht viel geschrieben

AW: sql-abfrage abändern

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ß
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

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");
so lese ich es aus bei der detail-ansicht

und so in der url-ansicht

Code:
$result = mysql_query("SELECT titel,minibild FROM muster ORDER BY datum");

spalten habe ich folgende

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:



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)
 

Duddle

Posting-Frequenz: 14µHz

AW: sql-abfrage abändern

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:
  1. es selber lernen: http://www.schattenbaum.net/php/anfang.php, , http://www.php-einfach.de/php-tutorial/php-tutorial.php
  2. jemanden anheuern, der es schon kann

Falls du dann konkrete Fragen zur Umsetzung hast, wirst du hier im Forum sehr wahrscheinlich Hilfe finden.


Duddle
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

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 :)
 

Duddle

Posting-Frequenz: 14µHz

AW: sql-abfrage abändern

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
 

eytibi

*moep*

AW: sql-abfrage abändern

Hallo,

um bei deinem Beispiel zu bleiben:
Hier wird die Detailseite mit 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.
 

Duddle

Posting-Frequenz: 14µHz

AW: sql-abfrage abändern

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
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

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....
 

blastermaster

Noch nicht viel geschrieben

AW: sql-abfrage abändern

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
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: sql-abfrage abändern

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....

Du scheinst das Konzept von Variablen nicht zu kennen / verstehen.

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
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

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'); 
    } 

?>
Und mein problem ist, dass ich nicht weiss wie ich mache, das ich nicht für jede detailseite eine datei benötige, sondern direkt in dieser schablonen-datei öffnen kann.. sozusagen direkt aus der datebank auslesen.

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]'");
funktioniert es auch nicht... (die "lösung" die ich bei google gefunden habe)
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
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: sql-abfrage abändern

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:
<?php
for($i = 0; $i < 10); $i++) {
    echo "<a href='bar.php?nummer=$i'>";
    echo "Ich bin Link $i";
    echo "</a>";
    echo "<br>";
}
?>

bar.php:
PHP:
<?php
$geklickteNummer = $_GET['nummer'];
echo "Nutzer hat $geklickteNummer angeklickt.";

//hier MySQL-Verbindung herstellen

$sql = "SELECT * FROM tabelle WHERE identifikationsnummer = $geklickteNummer";
$result = mysql_query($sql);

while($zeile = mysql_fetch_row($result)) {
    $id = $zeile['identifikationsnummer'];
    echo "Ich bin das Ergebnis mit Identifikationsnummer $id";
    echo "<br>";
}
?>

Nichts davon sollte dir spanisch vorkommen, falls du die oben verlinkten Tutorials gelesen hast. Falls du irgendwo die Logik nicht verstehst, frag nach - sehr viel simpler konnte ich das Beispiel aber nicht machen.


Duddle
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

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 :) ...
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

nach vielem nachdenken habe ich die lösung hingekriegt.
durch dein skript duddle... nur eben kombiniert mit meinem eigenen.



vielen dank!
 

Duddle

Posting-Frequenz: 14µHz

AW: sql-abfrage abändern

ich dein skript ist so das die übersichts-seite fix ist, sprich, nicht von der datenbank genommen wird.

Jeder feste Wert kann parametrisiert werden.
PHP:
$sql = "SELECT a, b FROM tab1 WHERE foo = bar";
könnte genauso heißen
PHP:
$cols = "a, b";
$t = "tab1";
$x = "foo";
$y = "bar";
$sql = "SELECT $cols FROM $t WHERE $x = $y";
könnte genauso heißen
PHP:
$cols = $_GET['cols'];
$t = $_GET['t'];
$x = $_GET['x'];
$y = $_GET['y'];
$sql = "SELECT $cols FROM $t WHERE $x = $y";
und so weiter.

Sobald du aber Nutzereingaben zulässt, musst du die auch überprüfen. Vertraue niemals Nutzer-Input.


Duddle
 

elyion_g2

Ach Jungs!?!

AW: sql-abfrage abändern

vielen dank. ja das brauch ich aber nicht, ich arbeite direkt auf der mysql oberfläche..

vielen dank für die hilfe!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben