質問編集履歴

1

アドバイスを元に、少し進みました(気がする)ので、追記しました。

2021/01/27 11:51

投稿

cambodia
cambodia

スコア12

test CHANGED
File without changes
test CHANGED
@@ -317,3 +317,111 @@
317
317
 
318
318
 
319
319
  どうぞよろしくお願いいたします。
320
+
321
+
322
+
323
+
324
+
325
+ #[追記]アドバイスを元にやってみた結果
326
+
327
+
328
+
329
+ tryの処理を以下の記述でやってみますと、
330
+
331
+
332
+
333
+ 2131646
334
+
335
+
336
+
337
+ という表示を取得できました。
338
+
339
+ これは、subject_idカラムの値が4レコード分連なったものです。
340
+
341
+
342
+
343
+ 1レコード目 2
344
+
345
+ 2レコード目 13
346
+
347
+ 3レコード目 16
348
+
349
+ 4レコード目 46
350
+
351
+
352
+
353
+ このsubject_idカラムの値と同じレコードにあるstarカラムの値を変数に格納したいです。
354
+
355
+
356
+
357
+ 例えば、
358
+
359
+ 1レコード目であれば、$star2という変数に、starカラムの値である 3 を代入する
360
+
361
+ 2レコード目であれば、$star13という変数に、starカラムの値である 1 を代入する
362
+
363
+ 3レコード目であれば、$star16という変数に、starカラムの値である 1 を代入する
364
+
365
+ 4レコード目であれば、$star46という変数に、starカラムの値である 1 を代入する
366
+
367
+
368
+
369
+ このやり方がさっぱりわかりません。
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+ ```php
380
+
381
+ //starテーブルを読み込んで、
382
+
383
+ try{
384
+
385
+ $dbh = new PDO($dsn, $user, $password);
386
+
387
+ $sql = " SELECT * FROM star WHERE user_id = :user_id";
388
+
389
+ $stmt = $dbh->prepare($sql);
390
+
391
+ $stmt->bindValue(':user_id', $user_id);
392
+
393
+ $res = $stmt->execute();
394
+
395
+ $list = $stmt->fetchAll();
396
+
397
+
398
+
399
+ foreach($list as $data){
400
+
401
+
402
+
403
+ for ($i = 1; $i <= 50; $i++){
404
+
405
+ if($i == $data['subject_id']){
406
+
407
+ echo $i;
408
+
409
+ }
410
+
411
+ }
412
+
413
+
414
+
415
+ }
416
+
417
+
418
+
419
+ }catch(PDOException $e){
420
+
421
+ echo $e->getMessage();
422
+
423
+ exit;
424
+
425
+ }
426
+
427
+ ```