2016-03-19 10 views
1

ben veritabanından tek bir değer elde ve depolamak çalışıyorum ile veritabanından tek bir değeri almak için bir değişken nasıl php

Ben kendi adıma karşı tüm dersleri yazdırır yukarıdaki kodu kullanabilirsiniz Here is the structure of my Database

mysql_connect("localhost","root","") or die(mysql_error());; 
mysql_select_db("test") or die(mysql_error()); 
$result = mysql_query('SELECT * FROM names WHERE name = noshair'); 
while($row = mysql_fetch_array($result)); 
{ 
    echo $row['course'] . "<p>";  
} 
veri tabanından ancak belirli bir kurs isminin seçilmesini istiyorum, örneğin ismime karşı 5 tane kurs var ve hepsi ayrı ayrı ayrı ayrı kaydedilmeyi istiyorum.

cevap

0

bu sorgu Deneyin:

SELECT DISTINCT name, GROUP_CONCAT(DISTINCT course ORDER BY course) AS courses; 
FROM names 
WHERE name = noshair 

ve bu şekilde yankı deyimi değiştirin:

echo $row['courses'] . "<p>"; 

Bunun günümüze çıktı da bu gibi tabii bir liste -> 'java, C#, php , sonra bir değişkene koyabileceğiniz matematik.

0

Belki sorguyu denemelisiniz:

SELECT GROUP_CONCAT(course) 
FROM names 
WHERE name = noshair; 

yan notları gibi, mysql_ fonksiyonları (mysqli_ ya da bazı benzer arayüzü kullanmak) kullanarak durdurmak gerekir. Ve sorgularınızdaki parametreleri kullanmayı öğrenin.

+0

on.Try $ sub1, $ sub2 gibi farklı değişkenlerin ayrı ayrı kaydetmek ve böylece edilecektir array.Then değerlerin toplam sayısı ile döngü durumunu ayarlayarak ayrı değişkenlerde her değeri kaydetmek için hayır işe yaramadı. Bundan sonra –

0

Neden bunlar gibi php foreach ifadesini kullanmayın:

foreach ($row['course'] as $key => $value) 
{ 
    echo $value; 
} 

daha iyisi PHP çöker kullanmak ya da ayrı ayrı gösterilecek yöntemini patlayabilir.

bu deneyin:

mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db("test") or die(mysql_error()); 
$result = mysql_query("SELECT * FROM `names` WHERE `name` = 'noshair'"); 
while($row = mysql_fetch_array($result)); 
{ 
    $courses[] = $row['course'];  
} 

var_dump($courses); 

kod dizi için tüm içeriğini kaydeder

0

Sana NEREDE için uygun değerini excape zorunda düşünüyorum.

0

Tüm dersleri ayrı ayrı kaydetmek için diziyi kullanın. Daha sonra, kurs dizisi $ dizi [0] = "matematik" ve $ dizi [1] = "ingilizce" gibi dizinin ayrı dizinlerine kaydedilir. Daha sonra for döngüsünü kullanın kurslar bu kodu

$con=mysql_connect("localhost","root","") 

if(!$con) 
{ 
die('Not connected : ' . mysql_error()); 
} 
$db_selected = mysql_select_db('test', $con); 
if (!$db_selected) { 
die ('Can\'t use test : ' . mysql_error()); 
} 
    $result = mysql_query('SELECT * FROM names WHERE name = noshair'); 


    while($row = mysql_fetch_array($result)); 
    { 
    $value=$row['course'] . "<p>"; 
    echo $value; 
    $array[]=$value; 
    } 

$total=count($array); 
for($i=0;$i<$total;$i++) 
{ 
$n=$i+1; 
${'sub'.$n} = $array[$i]; 
} 
+0

MySQL kullanımdan çıktı almak için MySQL yerine MySQLi kullanın. –