2017-03-28 2 views
1

私は09454151,094949154のようなデータを持つ電話番号とクライアントに関する他のデータを持つtable1を持っています。私はに変換000385926555494または0385981961969 :mysqlと他のPHP配列

私の入力データは次のように電話番号にあったコードを使用して正常に動作0926555494または0981961969

(ここで、$ broj00 =の '000385926555494'):

$broj00 = preg_replace('/'.ULAZNI_POZIV.'/', '', $broj); 
//dodavanje prefixa za ljepsi pregeld broja 
$prfix = 0; 
$broj01 = array($prefix,$broj00); 
$broj02 = implode('',$broj01); 

それから、私は問題を抱えています。$ brojが1つのデータだけであるにもかかわらず、$ broj = '09846646646,098956565,0989898'に3つの数字のように表示されます。

どのように私は1つのように3つの数字をすべて爆発することができますか?名前と戻り値の名前のデータベースを検索しますか?

$ broj = '0986464646'で動作するフルコード。 - > 1つの番号だけ。

function realbroj_ul($broj){ 
    global $database; 
    global $session; 
    $result = ""; 
    //uklanjanje odredenog djela iz broja 
    $broj00 = preg_replace('/'.ULAZNI_POZIV.'/', '', $broj); 
    //dodavanje prefixa za ljepsi pregeld broja 
    $prefix = 0; 
    $broj01 = array($prefix,$broj00); 
    $broj02 = implode('',$broj01); 
    if ($broj02 != ''){ 
     $sql = "SELECT * FROM imenik WHERE broj='$broj02'"; 
     $query = $database->query($sql); 
     $row = $database->fetch_array($query); 
     if ($row['id'] != ''){ 
      $ime = $row['ime']; 
      $prezime = $row['prezime']; 
      $arry = array($ime,$prezime); 
      $fime = implode(" ", $arry); 
      $result = "<a style='color:green;' href='index.php?stranica=imenik&korisnik=".$broj02."'>".$fime." (".$broj02.")<i class='material-icons' style='margin-top: -2px;position: absolute;color: green;margin-left: 5px;'>search</i></a>"; 

     }else{ 
      $result = "".$broj02." <a href='index.php?stranica=imenik-add&broj=".$broj02."' alt='Dodaj u imenik'><i class='material-icons' style='margin-top: -4px;position: absolute;color: blue;margin-left: 5px;'>add_circle</i>"; 
     } 
    } 
    return $result; 
} 
+1

なぜですか?いくつかの説明? –

+0

あなたのデータベース構造は良くありません。しかし、この問題を解決するには、数値をコンマ区切りの値で保存します。例(4324324234,4234234、)。その後、配列として解析し、展開し、数字を一致させるためにPHPのstrpos関数を使用して – Akintunde007

+0

は非常に簡単です:$ numbers = explode( "、"、$ phone_numbers); このスキームを使用してdbを検索することは非常に困難です。あなたは別のレコードの各電話番号を移動する必要があります –

答えて

1

コメントとして、爆発は非常に簡単です:

$numbers = explode(",", $phone_numbers); 

は、電話番号の配列を返します。

ただし、新しいデータベーススキーマを作成する必要があります。私はあなたのためのテーブルと電話番号のテーブルを作成するためのアドバイスをします。 各電話番号をクライアントIDに関連付けることができます。 この方法で検索すると、まったく問題はありません。

クライアントテーブル: ID_client |名前|姓| etcetera

電話テーブル: ID_phone | ID_client | phone_number |タイプ(自宅など)

+1

こんにちは、ありがとう、私は自分のデータベースを変更します。 –

+1

あなたは大歓迎です –