Fynn Pfingsten Ответов: 1

Php FPDF, значение=2, затем 2 строки


Здравствуйте, можно ли отображать строки, Когда значение MySQL=2?

Например: value=2, затем Row1=Test1234, Row2=Test1234

Спасибо!

Редактировать:

<pre><?php
require_once("DBController.php");
$db_handle = new DBController();
$result = $db_handle->runQuery("SELECT * FROM toy");
$header = $db_handle->runQuery("SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='blog_samples' 
    AND `TABLE_NAME`='toy'");

require('fpdf/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);		
foreach($header as $heading) {
	foreach($heading as $column_heading)
		$pdf->Cell(90,12,$column_heading,1);
}
foreach($result as $row) {
	$pdf->SetFont('Arial','',12);	
	$pdf->Ln();
	foreach($row as $column)
		$pdf->Cell(90,12,$column,1);
}
$pdf->Output();
?>


Это основной код.
Запись в базе данных выглядит следующим образом:
название=test1234
значение=2

если значение=2, я хочу отобразить эту строку дважды. Если значение=1, то я хочу отобразить данные только один раз.

Что я уже пробовал:

Я попытался найти это в google, но не нашел никакого решения.

Richard MacCutchan

Ваш вопрос не ясен; пожалуйста, добавьте больше деталей, особенно объясните, что не работает.

Fynn Pfingsten

Готово!

Richard MacCutchan

Просто используйте его в качестве другой переменной цикла для повторения строки. Но я не могу понять, где это. value переменная устанавливается.

Fynn Pfingsten

Спасибо! Да, потому что я не знаю, как это сделать, не могли бы вы мне помочь, пожалуйста?

Richard MacCutchan

ОК. Где value переменная? Я не вижу никакого упоминания об этом в вашем кодексе. Где находится код, который пытается отобразить эти данные?

Fynn Pfingsten

Привет, это код, который у меня есть, но я не знаю, как это сделать с таблицей. Я тестирую его с помощью echo в php, но не знаю, как это сделать с html-строкой таблицы.

$sql = "SELECT * FROM list";

//использовать для MySQLi ООП
$query = $conn->query($sql);
while($row = $query->fetch_assoc()){
$оглавление .= "
".$row['1']." ".$рядок['2']." ".$рядок['3']." ".$ряд['4']." ";



if ($row['4']> "1") {
Эхо "Zeile wird verdoppelt!!";
эхо "";




} еще {
Эхо "Zeile wird nicht verdoppelt!";
эхо "";
}


}

Fynn Pfingsten

Здравствуйте, спасибо! Но теперь он отображается как строка. Но как я могу перечислить его сначала все, а затем, когда row4=2, затем к оператору if else?

if ($row['4']> "1") {

echo "". $row["1"] . ""
. $row["2"]. "";


} еще {
echo "". $row["1"] . ""
. $row["2"]. "";

}

Richard MacCutchan

Извините, я не понимаю, что вы пытаетесь сделать, или в чем проблема. В вашем операторе if-else вы показываете одни и те же вещи в обоих блоках.

Fynn Pfingsten

вы правы! Я объясню вам эту проблему. сначала я хочу поместить неизмененные данные в таблицу (из mysql). если значения теперь взяты из столбца 4 = 2, то этот столбец должен быть отображен дважды в только что созданной таблице. Вы понимаете мою проблему

Richard MacCutchan

Нет, мне очень жаль, но это действительно ничего для меня не значит. О каких ценностях вы говорите? Что вы имеете в виду под этим "если значения теперь взяты из столбца 4 = 2" и т. д.?

Fynn Pfingsten

Извините за непонимание. Я объясняю им это очень точно, потому что не хочу заставлять их работать без необходимости. если вы введете имя формы = тест и значение = 2. Значение = 2-это количество в качестве примера. Если Quantity = 2, то входные данные из mysql, то есть name = test, должны отображаться в двух столбцах.


Вот примерная фотография таблицы того, как она должна выглядеть:

https://drive.google.com/file/d/1TJyRIzaD0YJUU3D5hTdS1rUqsW2rxeLA/view?usp=sharing

Richard MacCutchan

Итак, мое предлагаемое ниже Решение является правильным или нет?

Fynn Pfingsten

ваш код наполовину корректен 2 - это переменная, и поэтому часто столбец должен быть удвоен. если их три, то они должны отображаться три раза.

Richard MacCutchan

Так в чем же именно заключается ваша проблема? Написание простого оператора if (или даже составного if-else) и нескольких команд echo не совсем сложно.

Fynn Pfingsten

Я не получаю оператор if else, потому что я не программист. не могли бы вы мне помочь? если значение = 3, то столбец должен быть отображен в таблице три раза.

Richard MacCutchan

Это точно так же, как и для значения = 2 ниже, за исключением 3.

Fynn Pfingsten

да, именно этого я и хотел. Большое спасибо. Однако у меня есть вопрос: если значение может быть от 1 до 100, должен ли я делать этот шаг для чисел от 1 до 100? dss-это очень важно!

Richard MacCutchan

Нет, тогда вам нужно будет получить число в виде целого числа и создать цикл. Поэтому вам понадобится что-то вроде:

var count = $row[4];for (i = 0; i < count; i++) {  echo $row[1]." ";}


Но если вы действительно хотите решить эту проблему, вам нужно пойти и изучить Javascript.

1 Ответов

Рейтинг:
1

Richard MacCutchan

Ты это имеешь в виду?

if ($row['4'] == "2") {
			
 echo "" . $row["1"] . "" . $row["1"]. "";
}
else if ($row['4'] == "3") {	

 echo "" . $row["1"] . "" . $row["1"]. "". $row["1"]. "";
} 
else {

 echo "" . $row["1"] . "";	
				
}


Maciej Los

Эта версия:

var count = $row[4];for (i = 0; i < count; i++) {  echo $row[1]." ";}

это более адекватно ;)

Richard MacCutchan

Да, как и в моем комментарии на следующий день. Я действительно не могу вспомнить, что все это было. :(

Maciej Los

Я думаю, что скромность внутри тебя берет верх...
Похоже, вы догадались, чего добивается ОП...
Ваше здоровье!
Мацей

Richard MacCutchan

О, я знаю это. Просто я не могу вспомнить, как получил ответ. :)

Maciej Los

Что ж... В таких случаях мы называем это явление в Польше: "pomroczność jasna". (Кстати: Лех Валенса - экс - президент Польши использует его впервые) Я почти уверен, что прямого перевода нет. Я думаю, что это может быть: 1) "мгновенные круги в суждении", 2) "слепой пьяница". Вторая - больше о первоначальном значении... Иногда какие-то слова, идеи, мысли приходят в наш мозг без всякой причины...

Richard MacCutchan

Я думаю, что версия 2 относится и ко мне. Даже когда я трезв, мой мозг изо всех сил пытается что-то вспомнить. Google переводит это как "ясная тьма", что имеет большой смысл.

Maciej Los

Со мной это тоже случается довольно часто ;)