PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   id in ein profil speichern (https://www.php-resource.de/forum/php-developer-forum/11559-id-in-ein-profil-speichern.html)

bastian 25-09-2002 11:35

id in ein profil speichern
 
tach leute,

habe eine mitgleiderverwaltung und einen artikelstamm mit datensätzen.

wenn sich der user einen artikel ansieht,
soll er die möglichkeit haben, diesen artikel in sein profil zu speichern, um ihn beim nächsten besuch schneller finden zu können.

im profil stehen dann ausser seinen pers. daten auch die links inklusive bilder der artikel die er gespeichert hat.

meine frage ist, wie gehe ich vor um das hinzubekommen.

TBT 25-09-2002 11:36

du könntest die Artikelnummern alle in seinem Cookiespeichern, oder in einer Textdatei auf dem Server oder in einer DB auf dem Server

MoRtAlAn 25-09-2002 11:37

die einträge haben doch sicher inen eindeutige ID ?!

läßt den user die Bilder seiner Wahl auswählen und speicherst die UserID und die ID des Bildes in eine Tabelle.

gruss

Aroree 25-09-2002 11:38

am besten eine zusätzliche Tabelle anlegen mit einem ForeignKey auf den User und eine SPalte wo die Links angelegt werden.
Dann schreibst du ein Select auf diese Tabelle wenn der User sein Profil aufruft und selectierst alle Links die mit der ID des Users übereinstimmen...

bastian 25-09-2002 11:46

hi MoRtAlan,

ja, die einträge haben eine bestimmte id,
und so wie du es geschrieben hast, würde ich es auch gerne machen.

was ist dazu nötig? eine weitere tabelle?

wie sieht der code dazu aus?

-
es wäre wirklich superklasse, wenn du mir damit etwas weiterhelfen könntest!

habe wirklich schon überall nachgeschaut, auch sowas in der richtung schon gefunden, nur leider ist der code dieses skriptes dermassen aufgebläht, das ich nicht durchblicke. ausserdem durch haufenweise querys sehr serverlastig...

-

MoRtAlAn 25-09-2002 11:54

du legst dir ne neue Tabelle an mit 2 spalten:
1x UserID (oder wie du es nennen willst)
1x BildID

der User bekommt die Bilder ja irgendwie aufgelistet.
Dort mußt du halt noch einen Link machen, damit genau dieses Bild (BildID) in die Tabelle geschrieben wird.
Das kann per PopUp sein, oder über den Link auf eine neue Seite.

gruss

bastian 25-09-2002 12:03

okay,
tabelle mit user_id und tabelle mit bild_id sind ja schon vorhanden.

da ich aber eher lernbegieriger laie in sachen php bin, weiss ich nicht, wie so eine funktion/code aussehen könnte.

kannst du mir ein beispiel posten?

thx
bastian

MoRtAlAn 25-09-2002 12:09

willst du es über ein popup machen, oder über einen neue seite??

bastian 25-09-2002 12:13

also ich hatte es mir so gedacht, das, wenn der user auf der detailseite ist und sich den artikel anschaut, er einen link klickt
und anschliessend auf seine profilseite geleitet wird, wo dann der entsprechende artikel zu sehen ist.

es ist aber auch okay, wenn sich ein popup öffnet, wo dann drin stehen würde "der artikel wurde in ihr profil gespeichert"

meintest du doch so, oder?


b.

MoRtAlAn 25-09-2002 12:16

also auf der Detailseite brauchst du einen link, der ungefähr so aussieht:

<a href="./deine.php?bildID=xx&UserID=yy">in mein Profil</a>

xx muß halt immer durch die ID des Bildes/Artikels ersetzt werden,
yy durch die ID des Users.

in der Seite deine.php
liest du die werte wieder aus, überprüfst ob du den eintrag schon hast, wenn nicht, trägst du beide sachen jeweils in die entsprechende Spalte ein.

gruss

bastian 25-09-2002 12:25

mhhm,

ich möchte auf keinen fall unverschämt wirken, weil ich eine frage nach der anderen stelle,

nur hab ich keine idee, wie der code der "deine.php"-seite ausshen kann.

und: wo wird den die bild-id hingespeichert?
lege ich dafür noch eine extra-zeile in der tabelle user_id an?

thx
bastian

Wotan 25-09-2002 12:48

PHP-Code:

<?php
$reu 
mysql_query("SELECT * FROM table WHERE spalte='$bildID' AND spalte2='$userID'");
$num mysql_num_rows($reu);
if(
$num == 0)
{
$res mysql_query("INSERT table (spalte, splate2) VALUES ('$bildID', $userID');
header("
Locationsprung_zurueck.php");
}
else
{
echo "
Du hast den Link schon deinem Profil hinzugefügt.";
}
?>

Jetzt brauchst du nur noch eine neue Tabelle anlegen mit zwei Spalten. Und dann passt du nur noch das Script mit den Tabellenname(table) und den beiden Spaltenname(spalte, spalte2) an und schon werden dir die Sachen in der Datenbank gespeichert.

bastian 25-09-2002 13:10

hi wotan,

sieht sehr vielversprechend aus,

das mit den spalten hab ich noch net geschnallt.

also es ist momentan so, das die photo_id in einer tabelle liegt und die user_id in einer anderen, da user-management und artikelstamm zwei unterschiedliche skripte sind.

würde ich so an die bild-id kommen?
$reu = mysql_query("SELECT * FROM photo WHERE imageID='$photoID' ");

dann noch für die userID
$reu = mysql_query("SELECT * FROM fadata WHERE userID='$userID' ");


danke
b.

Wotan 25-09-2002 13:18

Meinst du die Zeile
PHP-Code:

$num mysql_num_rows($reu); 

Nein es muss $reu heissen. Weil die abfrage ob was in der Datenbank gefunden würde bezieht sich ja auf
PHP-Code:

$reu mysql_query("SELECT * FROM tabel WHERE spalte='$bildID' NAD spalte2='$userID'"); 

Bei dem rest den du gerade gefragt hast stehe ich einwenig auf dem Schlauch. Ich versteh die Frage nicht ganz.

bastian 25-09-2002 13:26

okay,
beschreibe mal "kurz" wie die db bis nun aussieht:

photo_id findet man in der tabelle photo ,
die user_id befindet sich in der tabelle fapass_data.

deine $reu-anweisung will aber, das sich beide spalten in einer tabelle befinden.

kann das aber nicht ändern, da ich sonst die ganze db umstricken müsste und wie du sicherlich bemerkt hast, bin ich nen php-krüppel :-) - das würde jaaaaahre dauen...

-

das mit deinen spalten hab ich immernoch nicht geblickt.
bis jetzt hatte ichs immer so:
$reu = mysql_query("SELECT * FROM photo WHERE photoID='$photoID' ");


-

die $res-anweisung speichert den vom user gwünschten artikel in sein profil?


greetz
b.


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:46 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG