2012-10-17 104 views
0

好了,所以基本上我有一個返回數組中的查詢,然後它就會循環:使用第一值的if語句

$result = mssql_query("SELECT * FROM Segments ORDER BY Squares"); 

    if (!$result) { 
    echo 'query failed'; 
    exit; 

       } 

     while ($row = mssql_fetch_array($result)) { 
    $txtsquares = $row["Squares"]; 
    echo $txtsquares; 

當迴盪變量$ txtsquares等於數組值,例如讓我說1 2 3 4 5 6 7 8.

我需要這個數組/循環。不過,我想抓住這個數組的第一個值,如果語句中使用它在,像這樣:

value="<?php echo $txtsquares; ?>" 
<?php if ($txtsquares == 1) { ?> checked="checked" <?php } 
else{ ?> checked="" <?php } ?>/> 

但是顯然這是錯誤的,因爲值永遠不會等於1個,因爲它的陣列。任何人都可以指出我正確的方向嗎?我是PHP新手,非常抱歉,如果這是一個簡單的問題,我已經使用谷歌搜索,但沒有多少運氣。

+0

在'mssql_ *'上使用PDO。至少你應該使用'sqlsrv_ *'。 –

+3

'txtsquares'實際上是一個數組,還是它是一個具有空格分隔值的字符串? –

回答

2

如果你需要使用的$txtsquares的第一個元素試試這個:

value="<?php echo $txtsquares; ?>" 
<?php if ($txtsquares[0] == 1) { ?> checked="checked" <?php } 
else{ ?> checked="" <?php } ?>/> 
0

假設$txtsquares是一串數字,你知道的一串數字......你可以做類似這個:

$txtsquares = "1234"; 

$str_values = str_split($txtsquares); 
// array('1', '2', '3', '4') 

$int_values = array_map(function($i) { return (int)$i; }, $str_values); 
// array(1, 2, 3, 4) 

$first_value = $int_values[0];