βοήθεια για για να ρυθμίσω να μου γυρνάει τις σωστές παράγραφους

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

βοήθεια για για να ρυθμίσω να μου γυρνάει τις σωστές παράγραφους

Δημοσίευση από sibas » 16 Νοέμ 2017 14:02

Γεια χαρά, έχω κολλήσει με το παρακάτω script

Κώδικας: Επιλογή όλων

<?php

$dataFromDB = [
'2#' => '1|lorem',
'6#' => '3|lorerm',
'7#' => '3|ypsoum',
'8#' => '3|lol'
];
//print_r($dataFromDB);


$dataToDisplay = [
'1#' => '1',
'2#' => '2',
'3#' => '3',
'4#' => '4',
'5#' => '5',
'6#' => '6',
'7#' => '7',
'8#' => '8',
'9#' => '9',
'10#' => '10',
'11#' => '11',
'12#' => '12'
];
//print_r($dataToDisplay);

$display = array_merge($dataToDisplay, $dataFromDB);
//print_r($display);

$i = 1;
foreach($display AS $k => $v) {
	
	$v = explode('|', $v);
	
	if(empty($v[1])){
		
		$txt = 'none';
		
	}else{
		
		$txt = $v[1];
		
	}
	
	echo'<p id="v'.$i.'">παράγραφος<br>'.$k.'=> ['.$v[0].'- '.$txt.']</p>';

$i++;
}
αποτέλεσμα
παράγραφος
1#=> [1- none]

παράγραφος
2#=> [1- lorem]

παράγραφος
3#=> [3- none]

παράγραφος
4#=> [4- none]

παράγραφος
5#=> [5- none]

παράγραφος
6#=> [3- lorerm]

παράγραφος
7#=> [3- ypsoum]

παράγραφος
8#=> [3- lol]

παράγραφος
9#=> [9- none]

παράγραφος
10#=> [10- none]

παράγραφος
11#=> [11- none]

παράγραφος
12#=> [12- none]

Το ζητούμενο είναι
παράγραφος
1#=> [1- none]

παράγραφος
2#=> [1- lorem]

παράγραφος
3#=> [3- none]

παράγραφος
4#=> [4- none]

παράγραφος
5#=> [5- none]

Το ζητούμενο είναι να παρουσιαστεί μια παράγραφος αντί για 6-7-8
6#-7#-8# έχουν τον αριθμό=> [3- lorerm (δεν με ενδιαφέρει το κείμενο, αλλα καλοδεχούμενο αν μπορεί να παρουσιαστεί)]

παράγραφος
9#=> [9- none]

παράγραφος
10#=> [10- none]

παράγραφος
11#=> [11- none]

παράγραφος
12#=> [12- none]

κάποια ιδέα??? :reading:

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Re: βοήθεια για για να ρυθμίσω να μου γυρνάει τις σωστές παράγραφους

Δημοσίευση από sibas » 21 Νοέμ 2017 14:35

Δεν υπάρχει καμία ιδεα για αυτό!!!
οτιδήποτε είναι καλοδεχούμενο :hammer:

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Re: βοήθεια για για να ρυθμίσω να μου γυρνάει τις σωστές παράγραφους

Δημοσίευση από fafos » 21 Νοέμ 2017 22:17

mia dikh mou proseggish (exo piei kati tsipoura opote checkare to sklhra prin to kykloforiseis):

Κώδικας: Επιλογή όλων

<?php
	//**script - > ths array to kagkelo!**//
	
	//arrays
	$dataFromDB = [
		'2#' => '1|lorem',
		'6#' => '3|lorerm',
		'7#' => '3|ypsoum',
		'8#' => '3|lol'
	];
	$dataToDisplay = [
		'1#' => '1',
		'2#' => '2',
		'3#' => '3',
		'4#' => '4',
		'5#' => '5',
		'6#' => '6',
		'7#' => '7',
		'8#' => '8',
		'9#' => '9',
		'10#' => '10',
		'11#' => '11',
		'12#' => '12'
	];
	$display = array_merge( $dataToDisplay, $dataFromDB );//merge tis arrays

	//dhmioyrgia neas array opou topothetoume to 'none' gia na xexorisei ta lagia apo ta tragia
	$txt = array();
	foreach ( $display AS $k => $v )
	{
		$v = explode( '|', $v );
		if ( empty( $v[1] ) )
		{
			$txt[$k . '|none'] = $v[0];
		}
		else
		{
			$txt[$k . '|' . $v[1]] = $v[0];
		}
	}
	
	//dhmiourgia 2 neon arrays - mia gia ta lagia kai mia gia ta tragia kai kathe idio lagio to kanoume ena value
	foreach ( $txt as $k => $v )
	{
		if ( !isset( $out[$v] ) )
		{
			$out[$v] = '';
		}
		if ( !isset( $none[$v] ) )
		{
			$none[$v] = '';
		}
		$exk = explode( '|', $k );
		if ( $exk[1] != 'none' )
		{
			$out[$v] .= ( $out[$v] ? ',' : '' ) . $k . '|' . $v;
		}
		else
		{
			$none[$v] .= ( $none[$v] ? ',' : '' ) . $k . '|' . $v;
		}
	}

	//filtraroume kai enonoume ta lagia me ta tragia se mia array
	$out = array_filter( $out );
	$newarr = array_merge( $out, $none );
	natsort( $newarr );

	//dhmiourgoume mia multi array 
	$farr = array();
	foreach ( $newarr as $ok => $ov )
	{
		$farr[] = array( $ov );
	}

	//arxizei to panhgyri me tou foreach to kagkelo
	$value = '';
	$i = 1;
	foreach ( $farr as $a )
	{
		foreach ( $a as $ae )
		{
			$f = '';
			$s = '';
			$t = '';
			if ( strpos( $ae, ',' ) !== false )// pairnoume ta values pou exoun omoia
			{
				$ex = explode( ',', $ae );
				foreach ( $ex as $x )
				{
					$d = explode( '|', $x );
					$f .= $d[0] . ',';
					$s .= $d[1] . ',';
					$t = $d[2];
				}
				$f = rtrim( $f, ',' );
				$s = rtrim( $s, ',' );
			}
			else// pairnoume ta values pou einai mona
			{
				$ex = explode( '|', $ae );
				$f = $ex[0];
				@$s = $ex[1];
				@$t = $ex[2];
			}

			if(!empty($f)){			
				echo '<p id="v' . $i . '">παράγραφος<br>' . $f . '=> [' . $t . '- ' . $s . ']</p>';//ektyponoume
			} else { echo '';}
			$i++;
		}
	}
?>
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Re: βοήθεια για για να ρυθμίσω να μου γυρνάει τις σωστές παράγραφους

Δημοσίευση από sibas » 22 Νοέμ 2017 14:48

WOW fafos!!!
Είπα για μια ιδέα αλλά εσύ το πήρες πολύ πατριωτικά... :D Δεν έχω λόγια, σε υπερ ευχαριστώ για την προσπάθεια! :clap: :clap: :clap:

Τώρα, παρόλο που λειτουργεί "μάλλον δεν θα το χρησιμοποιήσω"
ό λόγος είναι οτι, αυτό που παρουσίασα είναι η απλοποιημένη μορφή ένος script που φτίαχνω και το μόνο κόλλημα που έχω είναι να μη παρουσίαζω 3-4 φόρες το ίδιο πράγμα.

το θέμα είναι ότι το $dataToDisplay έχει πάνω από 33 keys (σε ορισμένα φτάνει τα 99) και εκτελείτε Χ 7 διαφορετικά $dataToDisplay + ότι το $dataFromDB μερικές φορές έχει πάνω από 10 values!!

έτσι νομίζω ότι αν βάλω "ths array to kagkelo" θα έχω ένα θεματάκι!

πρέπει να βρω μια πιο "ευκολή λύση", και μάλλον μου είρθε μια ιδέα, αντι να παλεύω να φτιάξω μια νεα παράγραφο καλύτερα να προσπαθήσω να εμφανίσω μονο μια φορά το value και τα υπόλοιπα να ειναι κενά

δηλαδή
παράγραφος
6#=> [3- lorerml]
παράγραφος
7#=> []
παράγραφος
8#=> []

έτσι θα ξέρω ότι 6-7-8 είναι για το 3

ενιγουεη θα το δώ αύριο ..και πάλι σε ευχαριστώ :)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες