2017-01-15 13 views
8

Wyciągam dane z 2 kolumn DB w tej samej tabeli, aby wypełnić menu rozwijane w formularzu HTML. Mimo że otrzymuję obie części danych, nie mogę ich połączyć z białą spacją. Poniższy kod jest moją ogólną próbą zrobienia tego, ale próbowałem zmieniać i pomijać cudzysłowy dla białych znaków, jak również umieszczać imię i nazwisko w pojedynczym i podwójnym cudzysłowie. Ale nic nie działa. Pozostałem do tej pory z: Firstnamelastname.Trudności z dodaniem odrobiny między dwoma ciągami konkatowanymi z DB w rozwijanym menu formularza HTML

<?php 
     //db connection 
      mysql_connect('localhost', 'root', ""); 
      mysql_select_db('recy'); 

      $sql = "SELECT CONCAT(firstname,' ',lastname) FROM technicians"; 
      $result = mysql_query($sql); 

      echo "<select name='firstname',' ','lastname'>"; 
      while ($row = mysql_fetch_array($result)) { 
       echo "<option value'" . $row['CONCAT(firstname,' ',lastname)'] . "'>" . ucwords($row['CONCAT(firstname,' ',lastname)']) . "</option>"; 
      } 
      echo "</select>"; 
     ?> 

Wszelkie porady lub sugestie doceniane.

Odpowiedz

2

CONCAT_WS jest funkcja mySQL zawierać oddzielacz tak ..

$sql = "SELECT CONCAT_WS(' ',firstname,lastname) as name FROM technicians"; 

następnie użyć $row['name']

I dodaje alias as name W celu ułatwienia pracy

CONCAT_WS() oznacza dla Concatenate With Separator i jest specjalną formą CONCAT() w postaci . Pierwszy argument jest separatorem dla pozostałych argumentów. Separator jest dodawany między ciągami, aby zostać połączonym w postaci . Separator może być ciągiem znaków, podobnie jak pozostałe argumenty. Jeśli separator ma wartość NULL, wynikiem jest NULL.

+0

dziękuję. Działało zgodnie z oczekiwaniami. – nanker