これは、ユーザーがリストに追加するアイテムを検索し、そのリストに以前に追加されたアイテムが検索結果に表示される場合に機能するWebアプリケーションです。"定義されていない" URIセグメントcodeigniter;最初の関数はuriのヌルセグメントを探してから別の関数を使用しようとします
ただし、検索結果で以前にユーザーのリストに追加されていない項目が見つかった場合、ユーザーはこの新しい項目をリストに追加することができます。
これは、以前にユーザーのリストにあったアイテムを追加するための最初の機能です。 (ここでは「user_item_idを設定しなければならない第二の機能があります...これは
function addItem() {
$user_item_id = $this->uri->segment(3);
$master_item_id = $this->uri->segment(4);
$store = $this->uri->segment(5, '');
$user_id = $this->main_model->getMasterUser($this->user_id);
if ($user_item_id == 'null') $user_item_id = $this->main_model->addToUserItems($master_item_id, $user_id);
$quantity = $this->main_model->addToShoppingList($user_item_id, $store, $user_id);
$message = ($quantity == '1') ? 'Added to list.' : 'On shopping list ' . $quantity . ' times.';
$message .= ' <span class="undo_button" params="unadd/' . $user_item_id . '">Undo?</span>';
$return = array(
'message' => $message,
'user_item_id' => $user_item_id,
);
echo json_encode($return);
}
)「addToUserItems」と呼ばれる第二の機能を呼び出すべきである「($ user_item_id == 『NULL』であれば...」ラインに注意してください「どうやらではありません。
function addToUserItems($master_item_id, $user_id) {
$query = $this->db->query("
INSERT INTO user_item (master_item_id, user_id, custom_category, custom_name, custom_store, expires_after, on_hand)
SELECT id, " . $user_id . ", original_category, original_name, '', default_expiration, 0
FROM master_item
WHERE id = '" . $master_item_id . "'
;");
return $this->db->insert_id();
}
私たちが見ている理由を任意のアイデア 『user_item_id』未定義の私の推測では、テストの仮定の時間後に、何らかの形で第二の機能は$ user_item_idに値を設定していないことである
?。
ありがとう、insert into ... select文はアプリケーションの他の領域で正常に動作しているので、何か他のものが起きているはずです...アプリケーションボタンをクリックすると返されるURIセグメント... main/addItem/undefined/"master_item_id"。 master_item_idの値は正しいです。それは、user_itemテーブルへの新しく追加されたエントリのIDの数値を3のURIセグメントで評価するということだけです。代わりに、 "undefined"と表示されています... – user1263003
OK、変数の削除を開始するには、 'addToUserItems()'から '1'を返し、URLが' main/addItem/1/"master_item_id" 'であるかどうかを確認してください。もしそうなら、クエリに問題があります... '$ this-> db-> last_query()'はクエリが何であるかを教えてくれます。あなたはaddToUserItemsからそれを返してそれを出力することができます。 – stormdrain
ありがとうstormdrain ...いくつかのPHPスキルで少し苦労しています。 「master itemとuser_id stuffを追加する」という意味のwhayを明確にすることはできますか?私はあまりにも多くの配列を扱っていません。 – user1263003