• 12-03-2017, 01:39:40
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar şimdi benim aşağıda ki gibi $bakimlari diye bir dizim var bunun içerisinde kamyonlar ve tarih var
    bakarsak normalde
    0 ve 1. dizilerde Ford ve Mercedes 10.03.2017 tarihine ait
    2 ve 3 içinde ki kamyonlar 11.03.2017 tarhine ait

    ancak tarihleri her dizide değil sadece başladığı dizide belirtilmiş

    ben bunları
    Tarih kamyonlar
    10.03.2017 Ford
    10.03.2017 Mercedes
    11.03.2017 Scania
    11.03.2017 ManTgx

    şeklinde yapmak istiyorum bir türlü yapamadım böyle bir dizide böyle birşey yapılması mümkünmü php ile?

    aşağıdaki kodu direk çalıştırırsanız tam olarak ne demek istediğimi anlıyabilirsiniz

    <table cellspacing="0">
      <thead>
    
        <tr class="ust">
          <td>Tarih</td>
          <td>Araçlar</td>
        </tr>
      </thead>
      <tbody>
    
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    
    
    
    
    $bakimlari = array(
      0 => '<td class="tarih">10.03.2017</td><td class="kamyon">Ford</td>',
      1 => '<td class="kamyon">Mercedes</td>',
      2 => '<td class="tarih">11.03.2017</td><td class="kamyon">Scania</td>',
      3 => '<td class="kamyon">ManTgx</td>',
    
    );
    
    $tarihara = "#<td class="tarih">(.*?)</td>#";
    $kamyonara = "#<td class="kamyon">(.*?)</td>#";
    
    
    for($i=0;$i<count($bakimlari);$i++){
    
    preg_match_all($tarihara,$bakimlari[$i],$tarihler);
    preg_match_all($kamyonara,$bakimlari[$i],$kamyonlar);
      ?>
    
      <tr class="satir">
              <td><?php echo $tarihler[1][0]?></td>
              <td><?php echo $kamyonlar[1][0]?></td>
      </tr>
    
    
      <?php
    }
    ?>
    
      </tbody>
    </table>
  • 12-03-2017, 19:06:51
    #2
    Buyur dostum. Mantığı şu. Tarihi dizi olarak atadım. Eğer ilk satırdan büyükse, ve tarih değişkeni boşsa, bir önceki diziyi yeni diziye aktar.
    Tarih Kamyonlar
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    
    $bakimlari = array(
      0 => '<td class="tarih">10.03.2017</td><td class="kamyon">Ford</td>',
      1 => '<td class="kamyon">Mercedes</td>',
      2 => '<td class="tarih">11.03.2017</td><td class="kamyon">Scania</td>',
      3 => '<td class="kamyon">ManTgx</td>',
    );
    
    $tarihara = '#<td class="tarih">(.*?)</td>#';
    $kamyonara = '#<td class="kamyon">(.*?)</td>#';
     
    for($i=0;$i<count($bakimlari);$i++){
     
    preg_match_all($tarihara,$bakimlari[$i],$tarihler[$i]);
    preg_match_all($kamyonara,$bakimlari[$i],$kamyonlar);
    if (($i>0) && ($tarihler[$i][1][0]=="")) {
    	$tarihler[$i][1][0]= $tarihler[$i-1][1][0];
    }
    echo "<br>".$tarihler[$i][1][0]." ".$kamyonlar[1][0];
    } ?>
  • 14-03-2017, 20:33:14
    #3
    Onur89TR adlı üyeden alıntı: mesajı görüntüle
    Buyur dostum. Mantığı şu. Tarihi dizi olarak atadım. Eğer ilk satırdan büyükse, ve tarih değişkeni boşsa, bir önceki diziyi yeni diziye aktar.
    Tarih Kamyonlar
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    
    $bakimlari = array(
      0 => '<td class="tarih">10.03.2017</td><td class="kamyon">Ford</td>',
      1 => '<td class="kamyon">Mercedes</td>',
      2 => '<td class="tarih">11.03.2017</td><td class="kamyon">Scania</td>',
      3 => '<td class="kamyon">ManTgx</td>',
    );
    
    $tarihara = '#<td class="tarih">(.*?)</td>#';
    $kamyonara = '#<td class="kamyon">(.*?)</td>#';
     
    for($i=0;$i<count($bakimlari);$i++){
     
    preg_match_all($tarihara,$bakimlari[$i],$tarihler[$i]);
    preg_match_all($kamyonara,$bakimlari[$i],$kamyonlar);
    if (($i>0) && ($tarihler[$i][1][0]=="")) {
    	$tarihler[$i][1][0]= $tarihler[$i-1][1][0];
    }
    echo "<br>".$tarihler[$i][1][0]." ".$kamyonlar[1][0];
    } ?>
    emek verip zaman ayırdığınız için çok teşekkürler hocam 10 numara olmuş