Friends Liste

Dieses Thema im Forum "Webentwicklung" wurde erstellt von hacker5, 6. Januar 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. Januar 2006
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    Hi so vll kann mir ja hier jemand helfen .

    Hab mir schon ein paar vorschläge ander leute angehört funzt nur nicht so richtig.

    da wir ja hier 3 oder 4 profi coder haben mal die frage an euch also.

    Also mein Plan war es ich hab eine Datebank wo ich z.b. alle Leute aus meiner Klasse eintrage.

    So die lass ich dann auf der Homepage ausgeben.

    Nun wollte ich, dass jeder aus meiner Klasse eine Friendliste machen kann.

    (Also jeder der Regestriert ist)

    also das mit der Friendliste kann ich ist kein Problem.

    Aber ich würde gerne das die Leute farbig makiert werden die der jenige in seine Friendsliste getan hat . (Aber nur bei dem jenigen der sie auch in die Liste hinzugefügt hat).

    Vlt fällt euch ja ein wie man es realisieren kann.

    Wäre aufjedenfall cool *gg*


    Hab es mal mit einem Beispiel hinterlegt:

    Nehmen wir an wir sind 10 Tests in der Klasse.
    Ich bin Test und ich hab Test2 und Test3 in meine Friendsliste hinzugefügt. Diese sollen dann z.b. rot hinterlegt werden.

    Vorher bevor sie in die liste hinzugefügt wurden:
    vorher9nv.jpg
    {img-src: //img369.imageshack.us/img369/3427/vorher9nv.jpg}


    Und nachdem ich Test2 und 3 in meine Liste hinzugefügt habe:
    {bild-down: http://img369.imageshack.us/img369/5766/nachher9xy.jpg}


    und das ganze soll dann nur von mir gesehen werden.
    Also z.b. Test5 added Test und Test4 in seine liste soll nur er Test und Test4 markiert sehen ^^.


    Bestimmt unlösbar ... *G*
     
  2. 6. Januar 2006
    Ich habe erst vor kurzer zeit darüber nachgedacht wie es im wbb mit der buddy list geht :> Ist doch am ende das gleiche, nur das die buddy's dann mit einem * vor und hinter dem nick gekennzeichnet sind.
    Aber ich würde mal sagen man könnte es per Session machen für die jeweiligen user machen ..
     
  3. 6. Januar 2006
    jo eigendlich ist es genau so wie die buddy list

    aber beim wbb code steig ich eh meistens nicht durch

    und mit sessions wüsste ich atm nicht so richtig wie aber vll kommt ja jemand ^^.

    dann hat mir jemand ein script gemacht mit foreach was aber auch irgendwie noch nicht richtig funzt vll bekommt er es ja noch hin

    und dann hab ich den tip bekommen
    mit arrays zu arbeiten und nachher friend und user mit array_diff() zu unterscheiden
     
  4. 6. Januar 2006
    is doch net so schwer, machst einfach in die db ne spalte rein, in der die leute(IDs) derer stehn, die ihn auf der liste haben...
    diesen string ließt du dann aus, der hat dann vllt folgendes aussehen:
    Code:
    12-|-7-|-1-|-86
    oder so, dann explodeste den an der stelle
    mit explode("-|-", $stringfromDB)
    in nen array und dann checkst du bei der ausgabe der tabelle, bei wem das is und packst bei denen dann nen <font color=red> tag oder was auch immer dazu...

    mfG. sCuDs
     
  5. 6. Januar 2006
    krass so weit bin ich dann doch noch nicht mit meinen php künsten ^^

    also ich hab eigendlich eine datenbank mit

    ####Friendslist####
    ##
    #Name####Friend###
    ##Harry###Bernhardt###
    .... und so weiter
     
  6. 6. Januar 2006
    dann mussu die db erweitern, dassu zu jedem namen noch die friendIDs hast...

    halt sowat:

    Code:
    ID | Name | friendIDs 
    ----+--------+----------------------
    1 | sCuDs |1-|-3-|-43-|-98726
    
     
  7. 6. Januar 2006
    achso also nicht den name sondern die id

    hast du vll ein beispiel script wie ich das mit dem explode jetzt machen kann ?
     
  8. 6. Januar 2006
    hä? IP???

    PHP:
    $friendstring  mysql_db_result ( $mysqlqry 0 "friendIDs" );

    $friends  explode ( "-|-" $friendstring );

    hab grad keine zeit, das ganze weiter zu machen, aber das wirste ja hinbekommen...
     
  9. 6. Januar 2006
    sry hab mich vertippt ^^ meinte id


    hm falls du mal mehr zeit hast kannst du mir es ja mal richtig erklären werd google mal benutzen um mal mehr über explode rauszufinden .

    ansonsten werd ich es wohl lassen xD


    edit://

    ok die funktion verstehe ich jetzt es macht z.b. aus one|two

    one und two

    aber die frage ist jetzt

    wie mache ich das er mir die färbt, die in der liste sind und trozdem die anderen auch ausgibt ? *Gg*

    vll bin ich auch atm ein bissle verplant ^^
     
  10. 6. Januar 2006
    mit explode() kannst du nen string in en array zerlegen lassen
    zb. der string is "hacker5 kann kein explode xD" dann lass ich den so zerlegen:

    $blablubb = explode(" ", $string);

    das ergebnis wäre dann in den einzelnen teilen das hier:
    $blablubb[0] = "hacker5"

    $blablubb[1] = "kann"

    $blablubb[2] = "kein"

    $blablubb[3] = "explode"

    $blablubb[4] = "xD"


    so einfach geht das
     
  11. 6. Januar 2006
    jo das hab ich rausbekommen

    funzt auch eigendlich so wie ich es eingebaut habe

    nur die frage ist jetzt wie mache ich das er die farbig macht und trozdem die anderen mit raushohlt und die z.b. blau macht xD
     
  12. 6. Januar 2006
    bin zwar nicht der hellste und kenn mich nich so mit php aus, aber da könnte man doch if abfrage benutzten.

    ja = liste ; nein = nicht in der liste ^^

    wenn ja "rot"
    wenn nein "blau"

    dafür halt nen farbcode/befehl irgendwie rein bauen ^^

    bei logo (sehr alte programmiersprache und meine erste ;D, haben wir auch sowas in der schule mit "wenn dann" gemacht und mit listen gearbeitet. Wie das aber bei php ist, ka)
     
  13. 7. Januar 2006
    Bin auch nich der hellste in php aber kannste doch einfach


    if name in der liste then rot

    else grau

    end if


    oda wie das in php geht
     
  14. 7. Januar 2006
    hm könnte vll gehen ^^ ich versuche es morgen mal

    wenn es geht wieso bin ich da nicht drauf gekommen ^^ ich mache immer alles mit if schleifen -.- ^^

    nur das prob ist, das ich es gerne Alphabetisch geordnet hätte und zwar beide mal gucken ob es hinhaut ^^
     
  15. 7. Januar 2006
    hab nochmal langeweile gehabt und n script dafür geschrieben...

    PHP:
    <? php 
    // Hier setze ich mal die ID desjenigen, der die Friendlist abruft...
    $nameid  4 ;

    $connection  mysql_connect ( "localhost" "root" "passwort" );
    $friendnames  mysql_db_query ( friendlist "SELECT * FROM friendtable" );
    $maximalnumber  mysql_num_rows ( $friendnames );
    for(
    $i  0 $i  $maximalnumber $i ++)
    {
       
    $ID  mysql_result ( $friendnames $i "ID" );
       
    $persons [ $ID ] =  mysql_result ( $friendnames $i "name" );
    }

    $mysqlqry  mysql_db_query ( friendlist "SELECT friendIDs FROM friendtable WHERE ID =  $nameid " ); 
    $friendstring  mysql_db_result ( $mysqlqry 0 "friendIDs" );

    $friends  explode ( "-|-" $friendstring );
    echo 
    "<table>" ;
    for(
    $j  1 $j  <=  $maximalnumber $j ++)
    {
       if(
    in_array ( " $j " $friends ))
       {
          echo 
    "<tr><td bgcolor='#FF0000'> $persons [ $j ] </td></tr>" ;
       }
       else
       {
          echo 
    "<tr><td> $persons [ $j ] </td></tr>" ;
       }
    ?>
    die Tabelle dazu muss so ausschaun:

    Code:
    ID | Name | friendIDs
    -----+-----------------------------+--------------------------
    6 | Max Mustermann | 12-|-72-|-181-|-4-|-21
    
     
  16. 8. Januar 2006
    hey sCuDs vielen dank für deine hilfe

    nur leider kommt ein parser error find den fehler auch nciht so richtig.

    es soll etwas hier falsch sein "?>" aber da kann ja nichts also ist vll was mit der for schleife nicht richtig ?
    PHP:
    for( $j  1 $j  <=  $maximalnumber $j ++)
    {
       if(
    in_array ( " $j " $friends ))
       {
          echo 
    "<tr><td bgcolor='#FF0000'> $persons [ $j ] </td></tr>" ;
       }
       else
       {
          echo 
    "<tr><td> $persons [ $j ] </td></tr>" ;
       }

    und wenn ich die for schleife weg mache kommt:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\test\friend.php on line 8

    Fatal error: Call to undefined function: mysql_db_result() in C:\Programme\xampp\htdocs\test\friend.php on line 16


    das wäre hier

    PHP:

    $mysqlqry 
    mysql_db_query ( friendlist "SELECT friendIDs FROM friendtable WHERE ID =  $nameid " ); 
    $friendstring  mysql_db_result ( $mysqlqry 0 "friendIDs" );
    $friends  explode ( "-|-" $friendstring );
    echo 
    "<table>" ;
    wenn du keine zeit oder lust hast es nachzugucken wäre auch kein problem *gg*
     
  17. 8. Januar 2006
    die zweite meldung kann ich schon mal klären... hab ich in jedem code mindestens einmal drin... muss natürlich nicht "mysql_db_result()" sondern "mysql_result()"

    den rest mach ich jetz neu, hatte bloß bis gestern abend kein funktionierendes xampp mehr und nur noch holzmodem...
    jetz geht abba wieder alles...
     
  18. 8. Januar 2006
    cool vielen dank

    ich muss mir mal die funtion for() angucken und verstehen ^^
     
  19. 8. Januar 2006
    ich seh jetzt nur n Klammerungs fehler.. es fehlt eine Klammer welche die for() zu macht!
     
  20. 8. Januar 2006
    stimmt... naja, kommt vor, wie gesagt, hatte keine möglichkeit zum testen...

    EDIT: Hier hab ichs jetz komplett funktionierend:

    PHP:
    <? php 
    // Hier setze ich mal die ID desjenigen, der die Friendlist abruft...
    $nameid  4 ;

    $connection  mysql_connect ( "localhost" "root" "passwortr" );
    $friendnames  mysql_db_query ( friendlist "SELECT * FROM friendtable" );
    $maximalnumber  mysql_num_rows ( $friendnames );
    for(
    $i  0 $i  $maximalnumber $i ++)
    {
       
    $ID  mysql_result ( $friendnames $i "ID" );
       
    $persons [ $ID ] =  mysql_result ( $friendnames $i "name" );
    }

    $mysqlqry  mysql_db_query ( friendlist "SELECT friendIDs FROM friendtable WHERE ID =  $nameid " ); 
    $friendstring  mysql_result ( $mysqlqry 0 "friendIDs" );

    $friends  explode ( "-|-" $friendstring );
    echo 
    "<table>" ;
    for(
    $j  1 $j  <=  $maximalnumber $j ++)
    {
       if(
    in_array ( " $j " $friends ))
       {
          echo 
    "<tr><td bgcolor='#FF0000'> $persons [ $j ] </td></tr>" ;
       }
       else
       {
          echo 
    "<tr><td> $persons [ $j ] </td></tr>" ;
       }
    }
    echo 
    "</table>" ;
    ?>
    hab allet getestet und wörkt auch...

    noch n testscript, um 50 testeinträge in die tabelle zu tun:
    (das feld ID muss dazu auto_increment haben)
    PHP:
    <? php
    $db 
    mysql_connect ( "localhost" "root" "passwort" );


    for(
    $i  1 $i  <=  50 $i ++)
    {
       
    mt_srand ((double) microtime ()* 1000000 );
       for(
    $h = 1 $h <= 50 $h ++)  $cnt [ $h ]= 0 ;
       
    $z  mt_rand () %  50  1 ;
       
    $cnt [ $z ] =  1 ;
       
    $string  " $z " ;

       for(
    $j = 1 $j <= 15 $j ++)
       {
          do
          {
             
    $z  mt_rand () %  50  1 ;
             
          }while(
    $cnt [ $z ]> 0 );
          
          
    $cnt [ $z ] =  $cnt [ $z ]+ 1 ;

       

          
    $string  .=  "-|- $z " ;
       }
       echo 
    $string ;
       
    mysql_db_query ( "friendlist" "INSERT INTO friendtable (Name, friendIDs) values ('Name  $i ', ' $string ')" );
    }

    mysql_close ( $db );
    ?>
     
  21. 9. Januar 2006
    cool big thx bist der eizige der mir helfen konnte.

    naja dann werd ich wohl mal foreach und for lernen müssen wenn man es so oft braucht ^^. den rest kann ich eigendlich xD ^^


    ich kann dir garnicht genug danken thxthxthx




    ps: kannst du mir vll man die funktion for und for each erklären ? *gg*
     
  22. 9. Januar 2006
    und ich dachte immer, du bist hier der master of coding...

    [TEACHER]

    die funktion for() dient zum wiederholten ausführen eines bestimmten codeblocks
    z.B.
    PHP:
    <? php 
    for( $i  0 $i  <=  50 $i ++)
    {
       echo 
    "Durchlauf  $i " ;
    }
    ?>
    Erklärung dazu:
    die funtion hat drei parameter (naja so richtige parameter sinds nit...)
    zuerst wird die zählvariable(wird glaub ich auch Iterator genannt)
    initialisiert indem ihr der wert 0 zugeordnet wird.
    der zweite "parameter" gibt an, für welche werte der Zählvariable die schleife ausgeführt wird, wird also $i größer als 50, wird die schleife nicht mehr ausgeführt.
    der letzte parameter gibt schließlich an, was mit der variablen in jedem durchlauf geschieht, hier eben wird $i um 1 erhöht, wenn die schleife ausgeführt wird.



    die funktion foreach() dient zurbearbeitung von arrays
    z.B.
    PHP:
    <? php
    $blablubb 
    = array( "a" "b" "c" "d" "e" "f" );

    foreach(
    $blablubb  as  $moep )
    {
       echo 
    " $moep " ;
    }
    ?>
    Erklärung:
    die funktion durchläuft alle indizes des arrays und übergibt für die dauer eines schleifendurchgangs den entsprechenden wert an die variable nach dem wort "as". mit diesem wert kann man dann innerhalb der schleife arbeiten...

    so gesehen kann man mit foreach auch eine funktion schreiben, die aus einem array wieder einen string machen kann (gibts auch, heißt "implode()")

    PHP:
    <? php
    function  scuds_implode ( $trennzeichen $array )
    {
       foreach(
    $array  as  $blubb )
       {
          
    $string  .=  " $blubb$trennzeichen "
       }
    return 
    $string ;
    }
    $moep  = array( "sCuDs" "bringt" "hacker5" "for()" "und" "foreach()" "bei..." ":)" );

    $ergebnis  scuds_implode ( " " $moep );

    echo 
    " $ergebnis " ;

    ?>
    [/TEACHER]

    dürfte alles klar sein, oder?
    wenn nicht ---> ICQ: 290-425-247

    mfG. sCuDs
     
  23. 9. Januar 2006
    hey cool

    hab echt mal alles verstanden ^^ .

    mit den ganzen syntag gedingens von php.net kam ich nicht so richtig klar ^^
    also ich versuche mal das bsp von dir zu deuten^^

    for($i = 0; $i <= 50; $i++)

    da variable i noch 0 ist wird sie immer duruch $i++ um eins erhöht und die schleife wird so lange ausgeführt bis $i 50 ist bzw. größer ^^ juhuu hab es verstanden denke ich xD ^^

    naja jeder hat hier seine wissens lücken ^^

    aber haste echt cool erklärt thx
     
  24. 9. Januar 2006
    hacker5 hatten wir das net mal in icq hab ich dir doch erklärt koennte ich meinen
     
  25. 9. Januar 2006
    jo aber an for schleifen hing ich trozdem fest ^^
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.