Php 将结果拆分为两列并保留字母顺序
我一直在努力想如何描述我想做什么(也许这就是为什么我找不到任何东西告诉我怎么做…)。我也意识到我做事的方法有点混乱,并不总是最有效的,但我采取了macgyver的方法,它通常会奏效 基本上,我有一个表,我一直在作为一个列表进行响应,表中的ID按插入行的顺序自动递增,并按字母顺序排列。列表越来越长,我想把它分成两列,同时保持字母顺序 相关代码:Php 将结果拆分为两列并保留字母顺序,php,sql,mysqli,Php,Sql,Mysqli,我一直在努力想如何描述我想做什么(也许这就是为什么我找不到任何东西告诉我怎么做…)。我也意识到我做事的方法有点混乱,并不总是最有效的,但我采取了macgyver的方法,它通常会奏效 基本上,我有一个表,我一直在作为一个列表进行响应,表中的ID按插入行的顺序自动递增,并按字母顺序排列。列表越来越长,我想把它分成两列,同时保持字母顺序 相关代码: // grab tags from database excluding already associated tags echo &qu
// grab tags from database excluding already associated tags
echo "<ul id='taglist'>";
$grabTags = "select * from alltags where t_id not in (select t_tid from tags where t_fid = '$fToDis') order by t_text";
$runTags = mysqli_query($con, $grabTags);
// echo tags
while($hereTags = mysqli_fetch_assoc($runTags)){
$tagIdRef = $hereTags['t_id'];
$tagName = $hereTags['t_text'];
echo "<li><div class='ellis'><div class='ell'><p>$tagName</p></div><div class='elr'><div class='bruhp'><form method='post'><input type='hidden' name='$tagIdRef'><input type='submit' class='howbout' value='Add to Film'></form></div></div></div></li>";
// insert tag associations
if(isset($_POST["$tagIdRef"])){
$fTAddInit = "insert into tags (t_fid, t_tid) values ('$fToDis', '$tagIdRef')";
$fTAddRun = mysqli_query($con, $fTAddInit);
// refresh on success
if($fTAddRun){
echo "Tag added successfully, please hold while the page refreshes";
echo "<meta http-equiv='refresh' content='1'>";
}
}
}
"official" [Add to Film]
based on book [Add to Film]
boxing [Add to Film]
cold yeehaw [Add to Film]
dog [Add to Film]
emotional [Add to Film]
extreme sports [Add to Film]
gambling [Add to Film]
i disagree [Add to Film]
"official" [Add to Film] | based on book [Add to Film]
boxing [Add to Film] | cold yeehaw [Add to Film]
dog [Add to Film] | emotional [Add to Film]
extreme sports [Add to Film] | gambling [Add to Film]
i disagree [Add to Film]
等等
以下是我将其更改为输出的方式:
// grab tags from database excluding already associated tags
echo "<ul id='taglist'>";
$grabTags = "select * from alltags where t_id not in (select t_tid from tags where t_fid = '$fToDis') order by t_text";
$runTags = mysqli_query($con, $grabTags);
// echo tags
while($hereTags = mysqli_fetch_assoc($runTags)){
$tagIdRef = $hereTags['t_id'];
$tagName = $hereTags['t_text'];
echo "<li><div class='ellis'><div class='ell'><p>$tagName</p></div><div class='elr'><div class='bruhp'><form method='post'><input type='hidden' name='$tagIdRef'><input type='submit' class='howbout' value='Add to Film'></form></div></div></div></li>";
// insert tag associations
if(isset($_POST["$tagIdRef"])){
$fTAddInit = "insert into tags (t_fid, t_tid) values ('$fToDis', '$tagIdRef')";
$fTAddRun = mysqli_query($con, $fTAddInit);
// refresh on success
if($fTAddRun){
echo "Tag added successfully, please hold while the page refreshes";
echo "<meta http-equiv='refresh' content='1'>";
}
}
}
"official" [Add to Film]
based on book [Add to Film]
boxing [Add to Film]
cold yeehaw [Add to Film]
dog [Add to Film]
emotional [Add to Film]
extreme sports [Add to Film]
gambling [Add to Film]
i disagree [Add to Film]
"official" [Add to Film] | based on book [Add to Film]
boxing [Add to Film] | cold yeehaw [Add to Film]
dog [Add to Film] | emotional [Add to Film]
extreme sports [Add to Film] | gambling [Add to Film]
i disagree [Add to Film]
等等
我该怎么做呢?您需要从
ul
和li
HTML切换到表
或div
方法。然后在循环时,你需要跟踪每2个元素,你需要画一条新线
下面是一个使用表
方法对代码进行的简单重构
第一行变成
echo”“;
然后循环变为
$count=0;
while($hereTags=mysqli\u fetch\u assoc($runTags)){
$tagIdRef=$hereTags['t_id'];
$tagName=$hereTags['t_text'];
//每两行,你就开始新的一行
如果($count%2==0&&$count>0){
回声“;
}
$count++;
//从李改为td
回显“$tagName”;
最后在while
循环的末尾
echo”“;
一个选项是,您可以为已经生成的代码创建css规则
函数jfunAddTag(){
var输入、滤波器、ul、li、a、i、TXT值;
输入=document.getElementById('addtagto');
filter=input.value.toUpperCase();
ul=document.getElementById(“标记列表”);
li=ul.getElementsByTagName('li');
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}
#标记列表{
列表样式类型:无;
填充:0;
}
#口号列表李{
显示:内联块;
宽度:49%;
}
#李艾利斯{
保证金:2倍;
背景:#f0;
边界半径:6px;
填充物:5px;
文本对齐:居中;
}
布鲁赫先生{
裕度:0 10px 0;
}
输入[type=“submit”]{
背景:#222;
颜色:#fff;
边界半径:4px;
}
-
“官方”
-
根据这本书
-
拳击
-
冷耶和
-
狗
这正是我想要的,但它打破了我最初忘记包含的javascript(将原始帖子编辑为包含),我尝试将js中的ul和li改为table和td,但没有成功(无可否认,我在js方面很差劲)我承认我没有想过尝试css方法,我被我一直在做的所有php oops所吸引。我必须用数字让它看起来像样,但是使用设置宽度的内联块工作起来很有魅力!(“基于书本”来自sql数据库,它回显了所有标签和