Új hozzászólás Aktív témák

  • Soak

    veterán

    Sziasztok !

    A pár oldalon keresztül való beszélgetés után, nekiálltam megcsinálni. Sikerült is, viszont egy valamiben nem vagyok biztos, de elöbb itt a kód . Figyelem! Még fejlesztési fázisban van, szóval a külalak és egyéb most még nem az igazi, van más amin fent lehet akadni :)) .

    Tehát :

    Egyelőre ez van a Class-ban

    public static function find_relevant_3($id=0, $users_id=0) {
    global $database;
    global $previous;
    global $current;
    global $next;
    $users_id = $database->escape_value($users_id);
    $id = $database->escape_value($id);
    $previous = self::find_previous($id, $users_id);
    $current = self::find_current($id, $users_id);
    $next = self::find_next($id, $users_id);

    foreach($previous as $previous){
    global $previous_pic_id;
    $previous_pic_id = $previous->id;
    }



    foreach($current as $current){
    global $current_pic_id;
    global $photo_users_id;
    global $photo_filename;

    $current_pic_id = $current->id;
    $photo_users_id = $current->users_id;
    $photo_filename = $current->filename;
    }


    foreach($next as $next){
    global $next_pic_id;
    $next_pic_id = $next->id;
    }

    }

    public static function find_previous($id=0, $users_id) {
    global $database;
    $users_id = $database->escape_value($users_id);
    $id = $database->escape_value($id);
    return self::find_by_sql(" SELECT * FROM `photographs` WHERE id < ".$database->escape_value($id)." AND users_id = ".$users_id." ORDER BY id DESC LIMIT 1 ");


    }


    public static function find_current($id=0, $users_id=0) {
    global $database;
    $users_id = $database->escape_value($users_id);
    $id = $database->escape_value($id);
    $users_id = $database->escape_value($users_id);
    return self::find_by_sql(" SELECT * FROM `photographs` WHERE id = ".$database->escape_value($id)." AND users_id = ".$users_id." LIMIT 1 ");
    }


    public static function find_next($id=0, $users_id) {
    global $database;
    $users_id = $database->escape_value($users_id);
    $id = $database->escape_value($id);
    return self::find_by_sql(" SELECT * FROM `photographs` WHERE id > ".$database->escape_value($id)." AND users_id = ".$users_id." ORDER BY id ASC LIMIT 1 ");

    }

    Ez pedig magán a pagen:

    Photograph::find_relevant_3($_GET['p'], $users_id);
    if(empty($previous_pic_id))
    {
    $previous_pic_id = "";
    $previous_pic_link = "";

    }
    else
    {
    $previous_pic_link = "<a href=\"photos.php?user=$users->username&id=$users->id&p=$previous_pic_id\" >previous</a>";
    }
    if(empty($next_pic_id))
    {
    $next_pic_id = "";
    $next_pic_link = "";

    }
    else
    {
    $next_pic_link = "<a href=\"photos.php?user=$users->username&id=$users->id&p=$next_pic_id\" >next</a>";
    }

    if($_SESSION['user_id'] == $photo_users_id )
    {
    $delete = "Delete";
    }
    else
    {
    $delete = "";
    }
    $path = Photograph::photosphp_image_path($photo_filename);

    echo "<div class=\"photos_pics\" ><a href=\"../$path\" ><img src=\"../$path\" alt=\"\" name=\"start_pic\" class=\"photos_pic\"></a><a href=\"../delete_photo.php?id=$current_pic_id\">$delete</a>";


    ?>
    </div>

    <div id="pagination"><?php
    echo $previous_pic_link;
    echo $next_pic_link;

    ?>
    </div>

    Szóval az elsődleges problémám, mint látszik is, 3 funkcióbol jön össze a dolog, magyarul 3szor kell elmenni az adatbázishoz. Saját kútfőből ilyenre sikerült, amit Sk8erPeter irt, nekem nem működik, betettem phpmyadminba magában is, mindig csak az első eredményt adja vissza.

    Bármiféle építő kritikát szívesen veszek.

Új hozzászólás Aktív témák