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/)
-   -   [Funktion] Finde meinen Fehler nicht... Brauche dringend hilfe!!! (https://www.php-resource.de/forum/php-developer-forum/75304-funktion-finde-meinen-fehler-nicht-brauche-dringend-hilfe.html)

leuchte_1984 03-09-2006 01:06

[Funktion] Finde meinen Fehler nicht... Brauche dringend hilfe!!!
 
Hallo...

Folgende Sache:

Ich habe ein bildFlirt Script... habe das design und den rest soweit alles angepasst und es nun istalliert. es funktioniert alles super. bis auf eine kleine sache....

In der Community kann man sich eine freundesliste anlegen. jedoch wenn ich dann auf einen meiner Freunde klicke, öffnet sich immer mein eignes Profil anstatt das von meinen freunden.

poste jetzt mal die stelle der freundeslist hierrein:

PHP-Code:



// Freundeliste
        
$db->query('SELECT bildf_user.nickname, bildf_user.user_id FROM bildf_buddyliste, bildf_user WHERE bildf_user.user_id = bildf_buddyliste.freund_id AND bildf_buddyliste.user_id = ' $HTTP_GET_VARS['user_id']);

        
$tpl->assign_block_vars('infoseite_freundeliste_head''');

        if(
$db->num_rows() == 0)
            
$tpl->assign_block_vars('infoseite_freundeliste_default''');
        else
        {
            while(
$result $db->fetch_object())
                
$tpl->assign_block_vars('infoseite_freundeliste_data', array('id' => $result->user_id'nickname' => $result->nickname));
        }

        
$tpl->assign_block_vars('infoseite_freundeliste_foot''');

        
// Freundelist-Template
        
$freundeliste $tpl->return_output();
        
$tpl->clean_output(); 

kann mir einer sagen wo hier der fehler ist?
Ich brauche dringend schnelle hilfe.

bin auch unter msn (leuchte@hotmail.de) oder icq (247888234) erreichbar

nix_wie_weg 03-09-2006 01:16

Wenn die Datenbank passend ist und das template auch,
würde der Code soweit stimmen. Vielleicht ist im Datenbankaufbau ein Fehler,
vielleicht bei den INSERTs..

Du kannst im phpMyAdmin überprüfen, ob die bildf_buddyliste und die bildf_user die
richtigen Inhalte haben für dein buddyliste.user_id

leuchte_1984 03-09-2006 01:20

oh oh
 
hätte vll dazu sagen sollen das ich nicht grad der spezi in solchen sachen mit phpmyadmin bin...

was genau soll ich denn da gucken und wo?

Hier mal der Code der Linkgeneration für die page des freundes: vll stimmt ja da was nicht:

Code:


<a href="javascript:new_window('member.php?action=infoseite&id={id}', 600, 500)">{nickname}</a>

Bitte helft mir so schnell wie möglich, weil der starttermin für das projekt schon überfällig ist... :( :( :(

nix_wie_weg 03-09-2006 12:01

in dem bisher geposteten ist kein Fehler zu sehen.
Wie vorher gesagt, liegt es an anderen Stellen.
Vermutlich sind die Daten so falsch in der Datenbank.

leuchte_1984 03-09-2006 14:47

okay... hab mal in die datenbank geschaut und mich mal ein wenig damit beschäftigt.

flogende tabelle konnte ich finden:

id - user_id - freund_id
1 - 1 - 2
2 - 1 - 3
3 - 2 - 1
4 - 2 - 3
5 - 3 - 1
6 - 3 - 2

So... Ich habe mir selber zur Probe 3 Accounts angelegt. Jedes Profil hat die 2 anderen profile auf der freundeslist. also stimmt doch das hier auch alles oder? :confused:

pekka 03-09-2006 15:01

Ohne die Datenstruktur komplett zu blicken: user_id scheint die ID des aktuellen Users zu sein. Ich würde probieren, in der Smarty-Zuweisung oben die user_id durch freund_id zu ersetzen und zu schauen, was passiert.
Und dann würde ich dringend den Code oben umbrechen.

leuchte_1984 03-09-2006 15:04

wie jetzt? also einfach mal user_id und freund_id austauschen??? wie kann ich denn in der datenbank das ändern? sorry aber ich habe wirklich keine ahnung wie ich das anstellen soll... bin ja froh das ich überhaupt den weg darein erstmal gefunden habe und da ein wenig durchsehe...

trotzdem erstmal vielen dank für deine schnellen tips

pekka 03-09-2006 15:10

Nicht in der Datenbank, im Template oben!
Und bitte Code umbrechen.

leuchte_1984 03-09-2006 15:20

hmm... kannst du mir vll den tag mal posten wie er dann hinterher aussehen soll?

das ganze war ja ein fertiges script wo ich nur design anpassen sollte. aber durch die probleme ist nur doch mehr drauss geworden.

pekka 03-09-2006 15:37

Wie sieht die bild_buddyliste-Tabelle aus?

leuchte_1984 03-09-2006 15:45

so sieht die bild_buddyliste-Tabelle in phpmyadmin aus:

http://leuchte1984.funpic.de/bild1.gif

und so die struktur:

http://leuchte1984.funpic.de/bild2.gif

hoffe ich habe jetzt das richtige für dich gepostet

nix_wie_weg 03-09-2006 15:49

das ist die Tabelle bildf_buddyliste
und da stimmt auch alles. bisher ist nirgendwo ein Fehler sichtbar. Das muss an etwas anderem liegen.


richtig ist, dass du anstatt
'SELECT bildf_user.nickname, bildf_user.user_id
auch
'SELECT bildf_user.nickname, bildf_buddyliste.freund_id AS user_id schreiben könntest.

das AS ist nötig, um unten das assign nicht zu stören.

Ich würde in dieser Phase mal mit vielen echo's mir die Dinge ausgeben lassen.
Falls es wegen dem tmpl nicht sichtbar ist, muss man im Quelltext im Browser schauen.

PHP-Code:

   echo 'beginn Freundesliste bauen <br />';
    while(
$result $db->fetch_object())
{
                
$tpl->assign_block_vars('infoseite_freundeliste_data'
            array(
'id' => $result->user_id'nickname' => $result->nickname));

echo 
'freund_id=' $result->user_id ' nick='.$result->nickname '<br />';



nix_wie_weg 03-09-2006 15:52

Der php Code am Anfang ist völlig plausibel. (trotz 'Ueberlange')

Man muss doch im design irgendwie den Block deklarieren. Ich verstehe davon
praktisch nichts, aber trotzdem die Frage, ob das richtig gemacht wurde?

Muss man nicht eventuell im php ein begin-block machen?? Nur eine Frage, im Google
stand sowas.

nix_wie_weg 03-09-2006 15:58

kannst Du auch die bildf_user anschauen? ich hoffe deine drei testuser seien unterscheidbar?

Dann ist noch das tinyint(3). Es spielt im Moment keine Rolle für dein Problem, aber die Beschränkung auf 255 id's ist nicht 'robust', ich würde das als int machen.

nix_wie_weg 03-09-2006 16:17

noch etwas, überprüfe mal, ob der folgende Befehl wirklich im Skript steht, welches
ausgeführt wird (und nicht sonst irgendwo).
PHP-Code:

        $db->query('SELECT bildf_user.nickname, bildf_user.user_id FROM 
bildf_buddyliste, bildf_user WHERE bildf_user.user_id = bildf_buddyliste.freund_id 
AND bildf_buddyliste.user_id = ' 
$HTTP_GET_VARS['user_id']); 

für mich sieht es aus, wie wenn stehen würde:
PHP-Code:

        $db->query('SELECT bildf_user.nickname, bildf_user.user_id FROM 
bildf_buddyliste, bildf_user WHERE bildf_user.user_id = bildf_buddyliste.freund_id 
AND bildf_user.user_id = ' 
$HTTP_GET_VARS['user_id']);
      ******** 



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:44 Uhr.

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