• 10-03-2013, 17:00:14
    #1
    az öncekini çözdüm fakat şimdi daha önce eklenen isimleri tekrar ekliyor. bunun önüne nasıl geçebilirim? 1 isim varsa aynı isim ve soyisimden bir daha eklemesin.

    Edit: foreach ile hallettim arkadaşlar teşekkürler. çözümünü en altta veriyorum. kullanmak isteyenler olabilir.

    include("inc/db.php");
    
    if ( isset( $_GET['isimler'] ) ) {
      
      $isim = $_GET['isim'];
      $isim_say = (!empty($isim)) ? count(explode(',',$isim)) : 0;
      $isim_parcala = explode(',',$isim);
      $added = 0;
          
        if(!empty( $isim ) ) {
          mysql_query("INSERT INTO isimler (isim) VALUES ('$isim')");
          $added++;
        }
      
    }
    bu kod ile üniversitedeki arkadaşların ve onların arkadaşlarının isim soyisimlerini eklemeye çalışıyorum. Virgülden sonrasını ayrı bir değer olarak almasını istiyorum fakat bir veya bir kaç yerde hata yapıyorum.

    Fırat Tanış, Mehmet Ali Alabora, Levent Üzümcü

    şeklinde ekleme yaptığımda virgülden sonrasını bir değer olarak almasını istiyorum. Fakat bir yerde hata yapıyorum galiba

    form kısmı da aşağıdaki gibidir.

          <form action="" id="isimler">
            <p class="howto">İsim Ekle</p>
            <textarea rows="6" cols="50" name="isim"></textarea>
            <?php
    
              if ( isset($isim_say) ) {
                if ( $isim_say != 0 ){
                  $isim_gonder = ($isim_say > 1) ? 'isimler' : 'isim';
                  $isim_ekle = ($added != 1) ? 'isimler' : 'isim';
                  $isim_bilgi = "";
                  if($added > 0){
     	             $txt_info = "<p>$isim_ekle eklendi! Lütfen sayfayı yenileyin.</p>";
     	            }
                  
                  print "<p class='howto'>$isim_say $isim_gonder g | $added $isim_ekle eklendi.</p>";
                } else {
                  print "<p class='howto'>Herhangi bir isim eklenemedi!</p>";
                }
              }
          ?>
            <input type="submit" class="button-primary" name="isimler" value="Submit" />
            <?php //print $isim_bilgi; ?>
          </form>
    Çözülmüş hali:

    	include("inc/db.php");
    
    if ( isset( $_GET['isimler'] ) ) {
      
      $isim = $_GET['isim'];
      $isim_say = (!empty($isim)) ? count(explode(',',$isim)) : 0;
      $isim_parcala = explode(',',$isim);
      $added = 0;
          
    	 foreach ( $isim_parcala as $isim ) {
        if(!empty( $isim ) ) {
          mysql_query("INSERT INTO isimler (isim) VALUES ('$isim')");
          $added++;
        }
    	 }
    }
  • 10-03-2013, 18:26:46
    #2
    Misafir adlı üyeden alıntı: mesajı görüntüle
    az öncekini çözdüm fakat şimdi daha önce eklenen isimleri tekrar ekliyor. bunun önüne nasıl geçebilirim? 1 isim varsa aynı isim ve soyisimden bir daha eklemesin.

    Sorun hala mevcutmu? mevcutsa,

    <?php 
    include("inc/db.php"); 
    
    if ( isset( $_GET['isimler'] ) ) { 
       
      $isim = $_GET['isim']; 
      $isim_say = (!empty($isim)) ? count(explode(',',$isim)) : 0; 
      $isim_parcala = explode(',',$isim); 
      $added = 0; 
           
         foreach ( $isim_parcala as $isim ) { 
    	 
    	 if (preg_match("/$isim/", $mysqlisimverileri)) {
        echo "Bu isimde kullanici zaten mevcut";
    } elseif !empty( $isim ) ) {
        mysql_query("INSERT INTO isimler (isim) VALUES ('$isim')"); 
          $added++; 
    } else {
        
    }
    Not: kod tamamen çalışır şekilde denenmemiştir gereklileri yazdım siz düzenlemeyi yaparsınız else olarak bitirdim siz silebilirsiniz.

    $mysqlisimverileri = dbden isimleri çekersiniz veya başka türlü halledersiniz
  • 10-03-2013, 19:41:19
    #3
    teşekkürler cevap için fakat işin

    Alıntı
    $mysqlisimverileri
    kısmını beceremedim
  • 10-03-2013, 19:52:51
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    teşekkürler cevap için fakat işin



    kısmını beceremedim



    $mysqkisimverileri= mysql_query("SELECT * FROM isimler WHERE isim=´$isimdeğişkeni´");
    bunuda if empty ÇALIŞ, else çalışma yaparsınız (not gelişigüzel yazdım hata verebilir)
  • 10-03-2013, 20:42:32
    #5
    izlicez adlı üyeden alıntı: mesajı görüntüle
    $mysqkisimverileri= mysql_query("SELECT * FROM isimler WHERE isim=´$isimdeğişkeni´");
    bunuda if empty ÇALIŞ, else çalışma yaparsınız (not gelişigüzel yazdım hata verebilir)
    yok hocam beceremedim sanırım. teşekkürler cevabınız için.
    • izlicez
    izlicez bunu beğendi.
    1 kişi bunu beğendi.