gpt4 book ai didi

php - 使用 Google 表格作为数据库?

转载 作者:IT老高 更新时间:2023-10-29 00:19:42 24 4
gpt4 key购买 nike

我想为一个网站创建一个非常简单的 PHP 页面,它会显示一个时间表/日历之类的数据,其中每个时段要么是空闲的,要么会有一些约会。

因为所有数据实际上只是一个表格,例如{月、日、小时、talk_name、talk_description},我想为什么不使用 Google Sheets 电子表格作为数据库。好的,主要原因是我只是在阅读有关如何在 PHP 中使用 MySQL 的书籍,所以我绝对不在以下水平:

  • 为管理事件创建一个漂亮的管理界面
  • 让整个事情变得安全(我的意思是我对安全的所有想法是对管理文件夹使用 .htaccess 并在其他地方将网站设置为只读)。

另一方面,每个人都可以使用 Google 电子表格来编辑表格,这样一来,安全方面和 UI 方面都会得到解决。

我的问题是,您会如何推荐我这样做? Google 表格可以以 XML 和 CSV 格式发布。我可以只使用 fgetcsv 来获取数据吗?你能给我一些如何解析 csv 的简单示例,以及它是否有效(好吧,每天的浏览量将少于 50 次),如果我会做这样的事情(对抽象语法感到抱歉)?

$source_csv = fgetcsv(...);

get_talk_name(x,y,z) {
for all rows in $source_csv {
if (month == x && day == y && hour == z) return talk_name
}
}

get_talk_desc(x,y,z) {
for all rows in $source_csv {
if (month == x && day == y && hour == z) return talk_name
}
}

最佳答案

因此,虽然它可能不明智或不可扩展,但您可以做到。试试这个代码:

<?php
$url = "https://spreadsheets.google.com/pub?hl=en&hl=en&key=0AupgXsRU8E9UdC1DY0toUUJLV0M0THM4cGJTSkNSUnc&output=csv";
$row=0;

if (($handle = fopen($url, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}

基本上,将电子表格公开发布,通过手动编辑 URL(即 output=csv)将输出更改为 csv(从默认 HTML),获取它,然后遍历它按行使用 fgetcsv .

如果电子表格如下所示:

enter image description here

这将为相关的 csv 输出以下内容:

array(2) {
[0]=>
string(4) "Name"
[1]=>
string(5) "Value"
}
array(2) {
[0]=>
string(3) "Foo"
[1]=>
string(5) "13123"
}
array(2) {
[0]=>
string(3) "Bar"
[1]=>
string(3) "331"
}

关于php - 使用 Google 表格作为数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5037223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com