• 20-09-2009, 00:58:21
    #1
    Üyeliği durduruldu
    Bir arkadaşın sorusu .....

    <?php 
    include_once ( 'config.php' );
    class links { 
    /* Links Classes */
    /* For frontend */ 
    function getLink()  {  
    $sql = " SELECT * FROM links" ; 
    $queries = mysql_query ($sql) ;
    while ( $links = mysql_fetch_assoc ( $queries ) )  { 
    echo '<a href="'.$links[link_url].'" class="links" target="'.$links[target].'">'.$links[link_name].'</a><br />';
    }
    } 
    /* Frontend Ends */
    /* For The Backend */
    var $id ; 
    function deleteLink($id) { 
    $sql = "DELETE FROM `links` WHERE `id` = ".$id." ";
    if ( mysql_query($sql)) echo "Silindi"; else echo "silinemedi";
    }
    function addLink($linkcatid,$linkname,$linkurl,$linkimage,$linktarget,$linkdescription,$linkowner,$linkapproved,$linkadddate) { 
    $sql = "INSERT INTO `blogger`.`links` (`id`, `link_cat_id`, `link_name`, `link_url`, `link_image`, `link_target`, `link_description`, `link_owner`, `link_approved`, `link_addeddate`) VALUES (NULL, '".$linkcatid."', '".$linkname."', '".$linkurl."', '".$linkimage."', '".$linktarget."', '".$linkdescription."', '".$linkowner."', '".$linkapproved."', '".$linkadddate."');";
    if ( mysql_query ($sql) ) echo "eklendi"; else echo "eklenemedi";
    } 
    function editLink($id) { 
    $sql = "SELECT * FROM `links` WHERE `id` = ".$id; 
    $queries = mysql_query($sql);
    while ( $links = mysql_fetch_assoc ($queries) ) {
    	global $link_cat_id , $link_name ,$link_url, $link_image,$link_target, $link_description, $link_owner, $link_approved;
    	$link_cat_id= $links["link_cat_id"];
    	$link_name= $links["link_name"];
    	$link_url= $links["link_url"];
    	$link_image= $links["link_image"];
    	$link_target= $links["link_target"];
    	$link_description= $links["link_descripton"];
    	$link_owner= $links["link_owner"];
    	$link_approved= $links["link_approved"];
    } 
    } 
    function updateLink($id,$linkcatid,$linkname,$linkurl,$linkimage,$linktarget,$linkdescription,$linkowner,$linkapproved) { 
    $sql = "UPDATE `links` SET `link_cat_id` = '".$linkcatid."',`link_name` = '".linkname."',`link_url` = '".$link_url."',`link_image` = '".$linkimage."',`link_target` = '".$linktarget."',`link_description` = '".$linkdescription."',`link_owner` = '".$linkowner."',`link_approved` = '".$linkapproved."' WHERE `id` =".$id." LIMIT 1 ; )" ;
    if ( mysql_query ($sql ) ) echo "Link Düzenlendi" ; else echo "Link düzenlemedi"; 
    }
    function listLinks() {
    	/* 
    	echo '
        <table width="392" border="0">
      <tr>
        <td>ID</td>
        <td>LinkName</td>
        <td>Link Url</td>
        <td>Link Owner</td>
    	<td>Category</td>
        <td>Delete</td>
        <td>Edit</td>
      </tr>';
      $sql = " SELECT * FROM links" ; 
    $queries = mysql_query ($sql) ;
    while ( $links = mysql_fetch_assoc ( $queries ) )  { 
    echo '<tr>
        <td>'.$links[id].'</td>
        <td>'.$links[link_name].'</td>
        <td>'.$links[link_url].'</td>
        <td>'.$links[link_owner].'</td>
        <td>'.$links[link_cat_id].'</td>
        <td>Delete</td>
    	<td>Edit</td>
      </tr>
    ';
    }
    echo '</table>'; 
    */
      $sql = " SELECT * FROM links" ; 
    $queries = mysql_query ($sql) ;
    global $total_row_count,$linkArray;
    while ( $links = mysql_fetch_assoc ( $queries ) )  { 
        $total_row_count = mysql_num_rows($queries);
       	 $linkArray = array ( 
    	id =>  $links[id],
        link_name => $links[link_name],
        link_url => $links[link_url],
        link_owner => $links[link_owner],
        link_cat_id => $links[link_cat_id],
         );
    }
    }   
    }
    /* Backend Ends  */
    /** Links Classes End Writing */
    $links = new links();
    $links->listLinks(); 
    for ( $i = 0 ; $i < $total_row_count ; $i++ ) { 
    echo $linkArray[id]; 
    } 
    ?>
    şimdi sorun şu for da mysqldeki toplam row sayısına göre id değerini son değere göre atıyor ne yapmak istediğimide anlatim burda yazdığım classı sayfalarda direk yedirmek amaç paging yapıp çektiğim sayfaları göstermek ama yemiyo (( yane değerleregöre yapılabilir sonuç olarak ama bunu class içinde yapmak istiyorum yoksa geliştirmek çok zor oluyo böyle daha rahat geliştirilebiliyor kod ama takıldım kaldım burda önceden bunu normal while la yapardım stili içine atardık ama yöle yapmak istemiyorum :=))
  • 20-09-2009, 01:34:59
    #2
    sorunun ne olduğunu anlayan beri gelsin
  • 20-09-2009, 01:41:03
    #3
    Üyeliği durduruldu
      $sql = " SELECT * FROM links" ; 
    $queries = mysql_query ($sql) ;
    global $total_row_count,$linkArray;
    while ( $links = mysql_fetch_assoc ( $queries ) )  { 
        $total_row_count = mysql_num_rows($queries);
            $linkArray = array ( 
        id =>  $links[id],
        link_name => $links[link_name],
        link_url => $links[link_url],
        link_owner => $links[link_owner],
        link_cat_id => $links[link_cat_id],
         );
    }
    }   
    }
    /* Backend Ends  */
    /** Links Classes End Writing */
    $links = new links();
    $links->listLinks(); 
    for ( $i = 0 ; $i < $total_row_count ; $i++ ) { 
    echo $linkArray[id]; 
    } 
    ?>
    burayı görüyorsun değilmi kodu kısaltarak yazmayı deneyeyim dedim...
    $linkArray[id] de son $total_row_count daki yane maks. satır sayısındaki değeri girmesi lazım tek tek saydırması lazım 4 değeri ama son değer çıkıyor sorun bu...
  • 20-09-2009, 02:09:01
    #4
    Üyeliği durduruldu
    cevap verebilecek olan yok mu ???
  • 20-09-2009, 06:50:35
    #5
    ghost paşam öncelikle, while içinde num_rows kullanman kötü olmuş. Bir de saydırmama sebebi şu, sen sürekli değişkenin üstüne yazmışsın.
    $linkArray = array (
    id => $links[id],
    link_name => $links[link_name],
    link_url => $links[link_url],
    link_owner => $links[link_owner],
    link_cat_id => $links[link_cat_id],
    );

    yerine
    $linkArray[] = array (
    id => $links[id],
    link_name => $links[link_name],
    link_url => $links[link_url],
    link_owner => $links[link_owner],
    link_cat_id => $links[link_cat_id],
    );

    şeklinde yazmalısın.

    for ( $i = 0 ; $i < $total_row_count ; $i++ ) {
    echo
    $linkArray[id];
    }

    yerine de

    for ( $i = 0 ; $i < $total_row_count ; $i++ ) {
    echo
    $linkArray[
    $i][id];
    }

    yazmalısın.
  • 21-09-2009, 20:10:42
    #6
    Üyeliği durduruldu
    seyranlı hocam teşekkür ederim oldu :=))