यह एक साधारण सवाल हो सकता है लेकिन इसे हल करने के तरीके को समझने के लिए संघर्ष कर रहा हूं। मेरे पास एक ऐसा फॉर्म है जो उपयोगकर्ता को नौकरी देने के लिए "कस्टम" या "सभी" कर्मचारी "चुनने की अनुमति देता है।पीडीओ fetch सभी सरणी एक आयामी
यदि कस्टम चुना गया है तो उपयोगकर्ता प्रत्येक चेकबॉक्स पर क्लिक करके कर्मचारियों का चयन करता है, फिर मैं उन्हें नौकरियों में डालता हूं तालिका। यह नीचे (3, 1, 10 कर्मचारियों आईडी हैं)
Array
(
[0] => 3
[1] => 1
[2] => 10
)
तो "सभी कर्मचारियों" चुना जाता है, मैं पहली बार एक का चयन करें बयान क्वेरी स्टाफ मेज से सभी कर्मचारियों को पहचान पत्र प्राप्त करने के लिए सरणी पैदा करता है, और फिर इन्हें ऊपर की तरह जॉब टेबल में डालें। हालांकि यह सरणी उत्पन्न करता है:
Array
(
[0] => Array
(
[staffID] => 1
[0] => 1
)
[1] => Array
(
[staffID] => 23
[0] => 23
)
[2] => Array
(
[staffID] => 26
[0] => 26
)
[3] => Array
(
[staffID] => 29
[0] => 29
)
)
मैं उपरोक्त सरणी को ऊपर दिखाए गए सरणी में कैसे परिवर्तित कर सकता हूं?
मैं सभी कर्मचारियों आईडी प्राप्त करने के लिए डेटाबेस से पूछताछ करने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं और फिर उन्हें सम्मिलित कर रहा हूं।
$select = $db->prepare("SELECT staffID FROM staff");
if($select->execute())
{
$staff = $select->fetchAll();
}
for($i = 0; $i<count($staff); $i++)
{
$staffStmt = $db->prepare("INSERT INTO staffJobs (jobID, userID) VALUES (:jobID, :staffID)");
$staffStmt->bindParam(':jobID', $jobID, PDO::PARAM_INT);
$staffStmt->bindParam(':staffID', $staff[$i], PDO::PARAM_INT);
$staffStmt->execute();
}
पहला सरणी ठीक से सम्मिलित है, हालांकि अंतिम सरणी कर्मचारी आईडी के लिए शून्य डालती है।
कोई सुझाव?
धन्यवाद =)।
बिल्कुल सही धन्यवाद alot =) – Elliott
धन्यवाद! आपके लिंक ने मुझे 'staffID'-indexed सरणी लाने के तरीके को खोजने में सहायता की: '$ select-> fetchAll (PDO :: FETCH_COLUMN | PDO :: FETCH_GROUP)'। बहुत अच्छी चीजें – Nico