1

私のコードは機能しません。デフォルトを出力するだけです

これがphpです

$updatesQuery = "SELECT * FROM updates WHERE Isnote = 0";
        $rs  = mysql_query($updatesQuery) or
        die("SQL: $usersQuery)<br />".mysql_error());
        while($row = mysql_fetch_array($rs)) {
            switch ($i){
                case $row[CatID]=1:
                    $i = "kunder";
                    break;
                case $row[CatID]=2:
                    $i = "bokningar";
                    break;
                case $row[CatID]=3:
                    $i = "offerter";
                    break;
                case $row[CatID]=4:
                    $i = "leverantorer";
                    break;
                case $row[CatID]=5:
                    $i = "kalender";
                    break;
                default:
                    $i = "no work";
                    break;
            }
            echo $i;                
        }

SQLクエリは有効です。しかし、これからの私の出力は単なるデフォルト値です。「仕事なし」。

私は何を間違って書いたのですか?

4

4 に答える 4

7

この場合、変数をオンにします$row['CatID']

switch ($row['CatID']){
    case 1:
        $i = "kunder";
        break;
    case 2:
        $i = "bokningar";
        break;
    ...
于 2012-07-27T12:07:10.693 に答える
2

設定されていないように見える$iので、switch()ステートメントはデフォルトで(驚くべきことに)default句になります。

コードを次のように変更します。

        switch ($row['CatID']){
            case 1:
                $yourVar = "kunder";
                break;
        }   

switchステートメントは現在の変数を調べます。その変数がたまたまデータベースの列である場合は、その特定の変数を評価する必要があります。

切り替え前に変数$iに内部のデータを割り当てていれば、コードは機能していました。$row['catID']

于 2012-07-27T12:06:28.087 に答える
1

ただの推測

switch ($row['CatID']) {
  case 1:
    $i = "kunder";
    break;
  // And so on
}
  • $i定義されることはありません
  • $row[CatID]あなたが忘れたので、通知をトリガーする必要があります'
  • $row[CatID]=2値を設定しますが、コンテキストではあまり意味がありません
于 2012-07-27T12:08:09.053 に答える
0
switch($row['CatID'])

次に、ケース1:、ケース2:などを使用します

于 2012-07-27T12:07:28.100 に答える