• 22-11-2008, 22:43:19
    #1
    Üyeliği durduruldu
    Merhaba,
    basit bir html kod ile işlem yaptırmak istiyorum.
    echo komutuyla, 3 tane yan yana tablo üretip içinde sql deki verileri sıralı şekilde listelemek istiyorum.birinci tabloya ilk 10, ikinci tabloya 11-20 arasındaki veriler, 3.tabloya da 12 ve 30. verileri listeleme yapmak istiyorum.
    html kodları nasıl yazmamız gerekli acaba ?



    <?
    
    				$sql = mysql_query ("SELECT * FROM kategori ORDER BY katadi ASC LIMIT 30"); 
    				 while($goster=mysql_fetch_array($sql)){
    				$id=$goster['id'];
    				$katadi=$goster['katadi'];								
    ?>
    <table width="768" border="0">
      <tr>
        <td width="277" height="158"><? echo $katadi; ?></td>
        <td width="293">&nbsp;</td>
        <td width="184">&nbsp;</td>
      </tr>
    </table>
    <p>
      <? } ?>
  • 23-11-2008, 00:35:41
    #2
    normalde tablolar yanyana gelmiyor ama tablo başına <div class="css"> ve sonuna </div eklediğim zaman yan yana sıralıyor benim kullandığım yontem bu... profesyonel yontemi vardır
  • 23-11-2008, 01:08:37
    #3
    Üyeliği durduruldu
    peki sql den gelen sonuçları 3 parçaya nasıl bölebiliriz
    mesela
    $grup1 =10 sonuç;
    $grup 2 = 10 sonuç;
    $grup 3 = 10 sonuç;

    şeklinde sorguları nasıl oluşturabiliriz ?
    tablo olayını yapamayacağız, en azından bunu yaparsak işin 90%ını bitirmiş olurum.
  • 23-11-2008, 01:22:52
    #4
    Üyeliği durduruldu
    yani uzun bi yazı olacak eğer anlamazsan daha açık bi şekilde anlatmayı deneyeceğim.

    öncelikle tüm bu çıktıların yazılacağı genel bir alan oluştur. mesela genişliği 600 px olan. daha sonra bu divin içinde echo yu çalıştır, ve şu şekile benzer olsun;


    <div class="dis">

    <?php

    $sorgu=mysql_query("SELECT -hangi tablolar lazımsa- FROM -uyeler mesela-..... uzar gider bi sorgu");
    while($dongu=mysql_fetch_array($sorgu)) {
    echo '<div class="ic">'.$dongu[1].'</div><div class="ic">'.$dongu[2].'</div><div class="ic">'.$dongu[3].'</div>';
    }

    ?>

    </div>

    gibi.... yalnız dikkat etmen gereken bişey var. while döngüsünün içinde dikkat ettiysen yan yana sıralanmasını istediğim 3 dive de aynı class ı atadım. mesela o class ın özellikleri width:200px, float:left yaparsan bunlar yan yana sıralanır. yok aynı genişlikte olmıcaklar dersen hepsine ayrı class tanımlıcan ama her classın toplam genişliği dış genişliğe eşit olsun, ya da az bişi düşük de olabilir (200+200+200=600 bundaki mantık da şudur, dış genişlik 600 iç divlerin her biri de 100 olursa 300 luk boş yer kalır ve o boşluğa divler doldurulur) ve her class a float:left yazman gerek. ben bile anmaladım şu anlattığımdan ama neyse (: kolay gelsin.
  • 23-11-2008, 01:30:22
    #5
    <?php
    function sutunlugoster() {
    	$result = mysql_query("SELECT title FROM files ORDER BY fileid DESC LIMIT 30");
        if (mysql_num_rows($result)) {
    $fileinrow="1";
        while($row = mysql_fetch_array($result)) {
        $title = $row['title'];
    if ($fileinrow == '1') {
    echo "<tr>";   
    }
    ?>
    <td width="120">
    <table bgcolor="white" style="border-collapse: collapse" border="1" align="center">
    <tr>
    <td width="120" height="20" valign="top" align="center">
     <?php echo $title; ?>
     </td>
     </tr>
     </table>
    </td>
      <?php
            if ($fileinrow == '3') {
    	     echo "</tr>";
    	     $fileinrow = "0";
            }
            $fileinrow++;
        }
        if ($fileinrow == '3') {
    	    echo "<td width=\"120\"></td><td width=\"120\"></td></tr>";
        } elseif ($fileinrow == '3') {
    	    echo "<td width=\"120\"></td></tr>";
        }
    }
    }
    ?>
    <div style="border: 2px solid #0E3C60;">
    <table bgcolor="white" border="0" cellpadding="0" cellspacing="0" width="100%"><?php sutunlugoster(); ?></table>
    </div>
    tablonun boyutlarını kendı sayfana gore ayarlarsın.
    görünümü
  • 23-11-2008, 01:50:13
    #6
    Üyeliği durduruldu
    sorun giderildi..
    ilgilenen arkadaşlara teşekkürler
  • 23-11-2008, 01:55:50
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sanırım böyle birşey arıyorsun

    $sql = mysql_query ("SELECT * FROM kategori ORDER BY katadi ASC LIMIT 30"); 
    while($goster[]=mysql_fetch_array($sql)) {}
    $i=0;
    foreach ($goster as $k=> $v ){
    echo($i%10==0)?'<table width="100" border="0">':'';
    echo '<tr>
        <td>'.$v['id'].'</td>
        <td>'.$v['katadi'].'</td>
        <td>&nbsp;</td>
      </tr>';
    echo($i%10==9 || ($i == count($data)-1 ))?'</table>':'';
    $i++;
    }
  • 23-11-2008, 02:00:51
    #8
    Üyeliği durduruldu
    ardx adlı üyeden alıntı: mesajı görüntüle
    Sanırım böyle birşey arıyorsun
    $sql = mysql_query ("SELECT * FROM kategori ORDER BY katadi ASC LIMIT 30"); 
    while($goster[]=mysql_fetch_array($sql)) {}
    $i=0;
    foreach ($goster as $k=> $v ){
    echo($i%10==0)?'<table width="100" border="0">':'';
    echo '<tr>
        <td>'.$v['id'].'</td>
        <td>'.$v['katadi'].'</td>
        <td>&nbsp;</td>
      </tr>';
    echo($i%10==9 || ($i == count($data)-1 ))?'</table>':'';
    $i++;
    }
    istediğim tam olarak snrtnr'in verdiği gibi,
    2 gündür denemediğim yöntem kalmadı...
    en sonunda foruma yazmak zorunda kaldım : )
  • 23-11-2008, 02:03:15
    #9
    sorun değil hangisi işini görüyosa onu kullan kolay gelsin