Dapatkan nama lajur dan data untuk eksport CSV (MYSQL) menggunakan PHP
P粉579008412
P粉579008412 2023-11-04 21:59:58
0
2
579

Saya memerlukan cara untuk mengeksport pangkalan data MYSQL ke CSV melalui PHP, tetapi saya juga perlu memilih nama lajur. Setakat ini saya mempunyai yang berikut, yang melakukan semua yang saya perlukan kecuali mendapatkan nama lajur.

echo "Export Starting n"; $SQL = ("SELECT * FROM INF_TimeEntries WHERE Exported IS NULL"); $result = mysqli_query($db_conn, $SQL) or die("Selection Error " . mysqli_error($db_conn)); echo "Export Data Selected n"; $fp = fopen('../updateDatabase/timesheetExport/TimeEntries.csv', 'w'); echo "Starting Write to CSV n"; while($row = mysqli_fetch_assoc($result)){ fputcsv($fp, $row); $RowID = $row['ID']; $exportTime = date("Y-m-d H:i:s"); $sql = ("UPDATE INF_TimeEntries SET Exported = '$exportTime' WHERE ID = '$RowID'"); if ($mysqli_app->query($sql) === TRUE) { } else { echo date("Y-m-d H:i:s")."n"; echo "An Error Occured please contact the administrator ". $mysqli_app->error."n"; } } echo "Export Completed n"; fclose($fp); mysqli_close($mysqli_app); mysqli_close($db_conn);

Saya tidak pasti bagaimana saya akan mencapai ini. Saya perlu mendapatkan bukan sahaja nama lajur, tetapi juga nama lajur dan data yang terkandung dalam setiap lajur. Saya tidak menemui sebarang maklumat yang berkaitan dalam soalan lain yang dicadangkan.

P粉579008412
P粉579008412

membalas semua (2)
P粉949848849

Setelah dikembalikan daripadamysqli_query()方法设置了$result,您就可以使用mysqli_fetch_fields()tatasusunan yang menerangkan setiap lajur dalam set hasil.

Setiap elemen tatasusunan ini ialah objek dengan berbilang sifat. Salah satu sifat adalah sifat sepertiname——您可以将其用作 csv 文件的标题。您还可以获得max_lengthlengthtable.Dokumentasi yang dipautkanmenunjukkan contoh penggunaan metadata ini. p>

Jika pertanyaan anda lebih kecil daripada atributSELECT * FROM table更复杂,则此元数据特别有用:如果您为查询中的列分配别名,它们会显示在名称kod> elemen tatasusunan metadata.

Ini berfungsi walaupun tiada baris dalam set hasil.

    P粉002023326

    Memandangkan anda menggunakanmysqli_fetch_assoc,因此列的名称是每次迭代中$rowkekunci tatasusunan. Anda boleh meletakkan ini ke dalam fail pada lelaran pertama:

    echo "Starting Write to CSV \n"; $first = true; while($row = mysqli_fetch_assoc($result)){ if ($first) { fputcsv($fp, array_keys($row)); $first = false; } fputcsv($fp, $row); // .. }
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!