2011-09-18 3 views
0

Lorsque le résultat d'une requête existe, je veux connaître le nom de la ligne (s) qui ont des résultats corrects:TableName du résultat requête

$query = "SELECT Id FROM Programacao WHERE ID = 1"; 
$curDate = date("Y-m-d H").':00:00'; 
$query = "SELECT Id 
    FROM Programacao 
    WHERE Data1 = '$curDate' 
     OR Data2 = '$curDate' 
     OR Data3 = '$curDate'" 
$result = mysql_query($query); 
while ($row = mysql_fetch_array($result)){} 

parler simplement son if(Data1 == curDate)return Data1; if(Data2 == curDate)return Data2 ....

Désolé pour mon mauvais anglais.

+0

Pourquoi besoin de cette information vous? Vous connaissez le nom de la table lorsque vous écrivez la requête, alors pourquoi demander à la base de données quelque chose que vous connaissez déjà, ou confondez-vous des "tables" avec des "lignes"? – Bojangles

+0

Je ne comprends pas votre question. N'avez-vous pas interrogé une seule table dans cette déclaration? –

+0

Votre nom de table est Programacao. Cette requête limite également l'ensemble de résultats à être vide ou renvoyant "1". S'il vous plaît, clarifiez ce que vous essayez de faire. – gview

Répondre

0

Peut-être vous dire cela? (Soit avec UNION ou UNION ALL):

$query = " 
    SELECT Id 
     , 'Data1' AS name 
    FROM Programacao 
    WHERE Data1 = '$curDate' 
UNION 
    SELECT Id 
     , 'Data2' 
    FROM Programacao 
    WHERE Data2 = '$curDate' 
UNION 
    SELECT Id 
     , 'Data3' 
    FROM Programacao 
    WHERE Data3 = '$curDate' 
     " ; 
Questions connexes